自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flutter布局——一段代码解释最常见的约束错误

flutter布局的原理Constraints go down, Sizes go up, Parent sets position父节点向子节点传约束子节点向父节点上传大小最后由父节点决定位置不是按照直接约束显示问题代码:Scaffold( body: Center( child: ConstrainedBox( constraints: BoxConstraints.tight(const Size(300, 300)),

2022-03-29 15:43:53 3060

原创 flutter数据共享系列——随记

ProviderInheritedWidget 解决了数据共享问题。迎面也带来数据刷新导致的组件不必要更新问题。Provider基于InheritedWidget实现数据共享,数据更新,定向通知组件更新等。接下来我们先从Provider使用开始切入,逐步分析Provider的实现,以及对组件的应用进行熟悉。就拿官方文档开始:新建一个模型Counter:class Counter with ChangeNotifier { int _count = 0; int get count =&g

2021-11-15 16:14:17 1730

原创 记InheritedWidget使用思考

InheritedWidget 是项目中必不可少的组件,用户数据共享。老生常谈的Provider框架也是基于InheritedWidget实现的简介InheritedWidget组件是功能性组局,实现了由上向下共享数据的功能。即子组件通过BuildContext.dependOnInheritedWidgetOfExactType方法从父组件获取数据。值得提一下,这种由上向下提供书共享数据的方式和Notification传递方向正好相反。两者相同点是:都是由子组件发起的。InheritedWidg.

2021-11-15 16:12:14 573

原创 移动端不定期更新token方案

客户端需要不定期更新token,同时得保证在发送更新token同时其他网络请求挂起,否则会报token失效。待新token回来之后,重新发起挂起的请求。应服务端要求,更新token请求时,老token立刻失效原文链接,转载请注明出处目录模拟网络请求封装(模拟)使用演示结果打印小结模拟网络请求封装(模拟)let token = 1 当前请求使用的tokenlet re...

2019-08-24 17:46:48 1097

原创 React-Native WebView 测量网页高度

React-Native(后面简称RN)在展示某些静态也页面的时候,可能需要使用WebView, WebView可以请求一个网页地址,也可以异步请求HTML文本。一般情况下我们要得到网页的宽高,传回给RN以便准确设置WebView展示宽高原文地址(转载需注明出处)大致步骤使用WebView的injectedJavaScript属性注入JS代码,进行测量网页的宽高设置WebView的宽高PS:

2017-09-15 14:11:44 3630 8

原创 自定义时间选择器RZDatePickerView

RZDatePickerView自定义DatePickerView github:https://github.com/rzrobert/RZDatePickerView默认样式:使用方法- (void)showDatePickerWithType:(RZDateStyle)type { RZDatePickerView *datepicker = [[RZDatePickerView a

2017-04-11 11:21:09 372

原创 iOS实现先无动画pop再push,替换当前控制器

iOS实现先无动画pop再push,替换当前控制器 iOS开发中会遇到添加成功,发送成功……类似情况,需要先将push前的页面移除调。如果直接调用pop,立刻去push。如果这两个命令写在同一个控制器中,则会发现push根本没有被执行……因为pop已经将该控制器移除,push根本没有机会执行。也可以在上一个控制器通过代理/通知/闭包等操作——没有亲测,感觉麻烦。 所以就选择

2017-02-12 14:26:52 2965

原创 NSDate和NSString相互转换

NSDate转NSString日期转成字符串。这个是比较简单,对于初次遇到的同学可能会有些束手无策。这里把直观的代码分享给大家——直接上代码://获取系统当前时间NSDate *currentDate = [NSDate date];//用于格式化NSDate对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];/

2017-01-23 10:08:38 839

原创 git代码行统计命令集

查看git上个人代码量git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc

2016-12-09 09:27:48 7148 1

原创 React-Native 程序出现闪退原因之一

React-Native 程序出现闪退原因之一1、RN的iOS端release版本和staging版本出现闪退原因:使用了Number.isInteger(), 该方法在iOS端debug模式下运行不会出现异常,一旦生成release版本或staging版本导致程序异常退出,犹豫日志捕捉麻烦,属于一个潜在的小地雷。

2016-10-27 18:35:54 17336 2

原创 React Native 触摸事件处理详解

触控是移动设备的核心功能,也移动应用交互的基础,Android 和 iOS 各自都有完善的触摸事件处理机制。React Native(以下简称 RN)提供了一套统一的处理方式,能够方便的处理界面中组件的触摸事件、用户手势等。本文尝试介绍 RN 中触摸事件处理。1. RN 基本触摸组件RN 的组件除了 Text,其他组件默认是不支持点击事件,也不能响应基本触摸事件,所以 RN 中提供了几个直接处理响应

2016-09-12 18:13:51 754

原创 升级 XCode 之后,插件就失效了——便捷解决方案

每个版本的 Xcode 都由一个 UUID插件如果要想在 Xcode 上运行,必须指定支持的 UUID手动修改最近学习到一个便捷的方法,可以一步读取到 Xcode 的 UUID 添加到所有插件设置中 //在终端中输入find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist | xargs -I

2016-07-30 09:21:13 421

原创 浅拷贝&深拷贝|| MutableCopy& Copy

浅拷贝(Shallow Copy)与深拷贝(Deep Copy) 在Objective-C中并不是所有的对象都支持Copy,MutableCopy,遵守NSCopying协议的类才可以发送Copy消息,遵守NSMutableCopying 协议的类才可以发送MutableCopy消息.浅拷贝,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深拷贝是直接拷贝整个对象内存到另一块内存中 浅拷贝就是指

2016-07-26 21:19:25 408

转载 去掉导航栏下边的横条

去掉导航栏下边的横条在项目中,有一个界面的导航栏颜色需要与视图的背景色相同,在调试的时候发现,设置的导航栏颜色与视图背景色一样时,实际看到的缺不一样,而且导航栏与视图之间有一条很细的线。 方法如下:#import "ViewController.h"@interface ViewController (){ UIImageView *navBarBottonLineImageView;

2016-07-13 14:45:51 1731

转载 (swift)UICollectionView方法/属性详解

1.UICollectionView的常用属性// 1.设置位置和大小init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout)// 2.设置子视图的布局方式var collectionViewLayout: UICollectionViewLayout// 3.设置UICollectionView的代理对象

2016-07-04 10:16:01 8727

原创 Swift中设置tableview的分割线(separator)的样式、颜色、边距

Swift中设置tableview的分割线(separator)的样式、颜色、边距 //设置分割线样式 // 三种分割线样式: // case None 无分割线 // case SingleLine 单条分割线 // case SingleLineEtched // This separator style is only supported for gro

2016-06-24 21:55:21 13415

原创 iOS文字样式处理总结(字体、前背景色、斜体、加粗、对齐、行间距、段间距、动态获取字符串label宽高等)

IOS 文字样式处理总结(字体、前背景色、斜体、加粗、对齐、行间距、段间距、动态获取字符串label宽高等) 在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求。NSMuttableAttstring(带属性的字符串),可以灵活实现以上功能。 NSMutableParagraphStyle段落风格,设置行间距、段间距、缩进、对齐方式等。1. 实例

2016-06-17 22:06:32 15201 1

原创 post发送JSON数据(字符串、数组、字典、自定义对象)给服务器

post发送JSON数据(字符串、数组、字典、自定义对象)给服务器触发发送的方法NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/post/postjson.php"];NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url ]

2016-06-04 16:39:27 9859 4

原创 base64图片和字符串编解码详细过程

base64图片编码过程1、读取图片路径NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];2、获取文件的二进制NSData *data = [NSData data

2016-06-01 18:37:26 2428

转载 工厂模式三部曲-抽象工厂模式

工厂模式三部曲-抽象工厂模式什么是抽象工厂模式简单了解一下按照惯例,我们先了解一下什么是抽象工厂模式。抽象工厂模式和工厂方法模式很相似,但是抽象工厂模式将抽象发挥的更加极致,是三种工厂模式中最抽象的一种设计模式。抽象工厂模式,也叫做Kit模式,提供了创建一系列相关抽象子类的接口,而无需指定它们具体的类型。抽象工厂模式中定义了抽象工厂类,抽象工厂类中定义了

2016-05-29 00:11:11 1394 2

转载 工厂模式三部曲-工厂方法模式

工厂模式三部曲-工厂方法模式什么是工厂方法模式?工厂方法模式和简单工厂模式十分类似,大致结构是基本类似的。不同在于工厂方法模式对工厂类进行了进一步的抽象,将之前的一个工厂类抽象成了抽象工厂和工厂子类,抽象工厂定义一个创建抽象子类的接口,抽象工厂的子类实现这些接口并决定实例化哪个抽象子类。工厂子类决定着创建哪个抽象子类,外界决定着创建哪种工厂子类,抽象子类和工

2016-05-29 00:09:31 531

转载 iOS assign,weak,strong,copy 详解

1.assign 与weak区别 assign适用于基本数据类型,weak是适用于NSObject对象,并且是一个弱引用。assign其实也可以用来修饰对象。那么我们为什么不用它修饰对象呢?因为被assign修饰的对象(一般编译的时候会产生警告:Assigning retained object to unsafe property; object will be released after a

2016-05-28 23:57:33 1495 1

转载 工厂模式三部曲-简单工厂模式

工厂模式三部曲-简单工厂模式该文章属于原创,转载请注明: http://www.jianshu.com/p/a523144d8d7a这系列文章将会从浅入深,讲述三种工厂模式的设计,分别是:简单工厂模式、工厂方法模式、抽象工厂模式。由于反射机制可以简化工厂模式,所以这系列文章将会给出没有使用反射机制,和使用了反射机制的两种实现代码。什么是简单工

2016-05-20 22:33:25 671

原创 关于【finder不能完成该操作 因为未能读取或写入"文件名"中的某些数据(错误代码-36)】快速解决办法

如题:finder不能完成该操作 因为未能读取或写入"文件名"中的某些数据(错误代码-36)我们在Mac上操作NTFS格式的硬盘中的文件,删除过程中由于某些原因为删除完整,直接拔掉硬盘,导致硬盘回收站中文件受一种特殊保护(ps:具体原因未知)。待下次再使用硬盘时,清空回收站时,有部分文件始终无法删除——尝试过磁盘修复,CleanMyMac等工具均不行。方法:(暂只会这一种)

2016-05-09 23:15:29 64344 1

原创 layoutSubviews何时调用的问题

layoutSubviews何时调用的问题layoutSubviews何时调用的问题,这个方法是当你需要在调整subview的大小的时候需要重写(以下是原文:You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you wa

2016-04-15 22:15:26 484

原创 iOS移动开发1x 、2x 、3x图片介绍

1x 、2x 、3x图片介绍手机屏幕分两种视网膜屏:又叫Retain屏幕,就是高清视网膜屏幕,分辨率宽高是标准屏幕分辨率的2倍非视网膜屏又叫非Retain屏,是标准分辨率分辨率概念:分辨率的意思就是把屏幕进行横向、纵向等分,通常描述手机屏幕用点来表示,在retina屏幕下,一个点表示两个像素,在非retina屏幕下,一个点表示一个像素,而像素,就是常

2016-04-14 23:07:33 10417 1

原创 什么时候用强引用,什么时候用弱引用

什么时候用强引用,什么时候用弱引用小结:      1.NSString 和 block  用copy      2.基本数据类型用assgin      3.对象都用strong      4.UI控件和代理用weak

2016-04-14 23:02:28 1005

原创 iOS——图片的两种加载方式

iOS——图片的两种加载方式1、通过图片名字从images.xcassets中加载图片            UIImage *image = [UIImage imageNamed:imageName];         将图片加载到内存,当图片不使用时,会自动进入缓存,而不会释放内存2、通过文件名加载图片       NSBundle

2016-04-02 22:38:36 646

原创 华为5700设置某一端口组播屏蔽

本实例中以屏蔽 GigabitEthernet0/0/6 的UDP为例,亲测通过。[Quidway][Quidway]acl 3000      [Quidway-acl-adv-3000]rule 5 deny udp[Quidway-acl-adv-3000]quit[Quidway]Oct  1 2008 07:54:02-05:13 Quidway DS/4

2016-03-11 21:11:59 7001

原创 Windows开启网络对时方法

Windows开启网络对时方法  1、启用 NTPServer。为此,请按照下列步骤操作:  a. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定”进入注册表;  b. 找到并单击下面的注册表子项:  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProviders

2016-03-06 22:58:52 4807 1

转载 Linux下网络流量实时监控工具 大全

Linux下网络流量实时监控工具大全    在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面不方便,个人喜欢随手在某台服务器上输入一个命令,查看网卡即时流量。百度了一下,发现有这么几种方法,现对此类软件进行了一个总结。一、iptraf软件   rhel的

2016-03-06 22:57:05 653

转载 流媒体压力测试rtmp&hls(含推流和拉流)

http://www.linuxcache.com/archives/3328[root@localhost ~]# yum install git unzip patch gcc gcc-c++ make[root@localhost ~]# git clone https://github.com/winlinvip/st-load.git[root@localhost

2016-03-06 22:53:59 24212 16

转载 linux tail命令的使用方法详解

linux tail命令的使用方法详解本文介绍Linux下tail命令的使用方法。linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。一、tail命令语法tail [ -f ] [ -c Number | -n Numb

2016-03-06 22:35:17 599

原创 MySQL双机热备配置过程

准备工作1、 把需要同步的数据库实例从主数据库备份出来,然后手动导入从数据库,以保证数据库同步的时候主从数据库是一致的。2、 配置主数据库所在操作系统的防火墙,开放数据库访问端口,默认端口3306。准备服务器由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)

2016-03-06 22:32:28 561

制作IOS @1x @2x @3x一键生成工具

iOS开发中自动生成1x2x3x图片,并自动命名。快速便捷。

2016-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除