- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 欢迎使用CSDN-markdown编辑器
UISearchControllerr 的那些坑UISearchControllerr 这个东西具体是什么我就不说了,(还是说一下吧,iOS8.0以后替代UISearchBar + UISearchDisplayController的组合)点击搜索框,自动弹到顶部, // 必须要是全局的 self.searchController = [[UISearchController allo
2017-05-25 10:42:34 211
转载 APP 缓存数据线程安全问题,多个线程同时对同一资源进行读写问题
在开发中,我们经常使用到多线程。使用多线程访问同一数据的时候,可能一不小心就crash。如下:
2016-12-16 09:25:08 3146
原创 FMDB封装,用OC方法存储model,不用写SQL语句。使用runtime获取对象属性
在实际开发中,数据库存储只会用到那几个增删改查SQL语句,不会用到多表查询啊,多种条件增删改啊。所以写这个东西的目的,是把这几个SQL语句封装起来,在开发中操作数据库就省去写了SQL语句的麻烦。可能中间有些写得不够好,有兴趣的大虾过来指点指点小弟。 我们保存model,无非就是把所有的model装到一个数据里面,把数据直接塞进数据库里面即可。 创建SQL语句要得到model的键和值。这里使用R
2016-12-14 15:46:50 2172 2
原创 iOS 开发NSTimer定时器的细节问题
关于NSTimer 定时器,大家都很熟悉。 我要说的一点小细节。使用代码@interface SecondViewController (){ NSInteger _i; NSTimer *_timer;}@end在 viewDidLoad里面 _timer= [NSTimer scheduledTimerWithTimeInterval:1 target:self s
2016-11-29 10:59:27 546
原创 iOS清除缓存详细解析、app文件路径操作,真机沙盒理解
实现清除缓存,首先要了解是要清除哪里的缓存,所以我们先对一个app里面的文件有所了解。 查看app文件内容的方法:打开Xcode ->工具栏Window ->Devices ->选择设备->单击项目(双击也可以直接看到,要等10秒的样子才出现)->点击那个小东西选择Download Container,把他放到桌面上,就可以右击显示包内容了。 一个app里面由一个AppData文件夹,
2016-11-22 19:33:46 4644 1
原创 iOS 开发手机端生成随机验证码视图
在网页上,查询、登录、注册、支付等操作,往往都需要输入验证码来验证,避免机器进行的批量注册、重复投票、灌水回帖、暴力破解等恶意操作。但是有时候手机端也要这样的验证。于是……就直接上代码github上点我啊点我啊
2016-05-05 21:01:44 291
原创 iOS计算时间,刚刚,几分钟前,几小时前
直接上代码- (NSString *)formateDate:(NSString *)dateString withFormate:(NSString *) formate{ @try { NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init
2016-04-05 17:36:49 2333
原创 一个自定义的ActionSheet,可以自已轻松修改上面的东西
一两年前,为了配合公司的产品看到系统的ActionSheet样式那样,就瞎BB,说什么也要按照他设计的那样做。于是本宝宝就乱七八糟瞎搞了一个给他。最近感觉系统的ActionSheet确实比较局限,于是自写一个。用法 XJLActionSheet *xjlActionSheet = [[XJLActionSheet alloc] initWithDelegate:self t
2016-03-31 11:32:47 3362
原创 svn 工具conerstone 冲突解决办法
svn冲突了,解决办法只有一个,要么删除他提交的代码,要么删除自己提交的代码(针对冲突的代码)出现冲突的原因:他修改了文件A里面的东西,提交到svn上了,你在没更新的情况下,也去修改文件A里面的东西,这时候,服务器上面的东西是他改的,你再提交上去,服务器就不知道以谁的为准,就出现了冲突。个人比较喜欢直接上………………图。冲突有时候也会出现下面这种情况。
2016-03-16 19:17:07 9416 1
原创 strong与copy,用错了,有时候还会崩溃,不知道问题出在哪里,有时候就有这里
@property (nonatomic,copy) NSMutableArray *muArr1;// 用copy修饰的话,证明这个数组是不可变的,如果这个数组使用了可变数组的方法,那么就会崩溃.要用strong修饰才行。这是对可变类型而言@property (nonatomic,strong) NSMutableArray *muArr2;@prop
2016-03-01 17:29:24 306
原创 ios开发根据Label的字体和宽度算出它的高度
- (void)countLabelHeight{ UILabel *mylabel = [[UILabelalloc] initWithFrame:CGRectZero]; mylabel.text =@"荤醉善良的副科级啊固井ahdfalhg阿里斯顿喝咖啡轼荤醉善良的副科级啊固井ahdfalhg阿里斯顿喝"; mylabel
2016-02-26 16:50:18 238
转载 UIView的layoutSubviews和drawRect方法何时调用
setNeedsDisplay和setNeedsLayout两个方法都是异步的,setNeedsDisplay会自动调用drawRect,而setNeedsLayout会自动调用layoutSubviews。layoutSubviews方便数据计算,drawRect方便视图重绘。假设我们采用的是直接调用drawRect的机制,先考虑这样一个问题 ,,现在有两个UIViewC
2016-02-26 16:06:33 258
转载 整理iOS常用的第三方框架
XML/HTML解析 、有文字输入时,能根据键盘是否弹出来调整自身显示内容的位置 状态栏提示框、block工具包。将很多需要用delegate实现的方法整合成了block的形式、图片加载、正则表达式、Masonry代码布局、弹出窗、Button的样式、验证网络连接状态、自动计算表格行高、动画效果的启动页、iOS快速简单集成国内三大平台分享、五项能力值展示的五边形、自动识别网址号码邮箱和表情的label、IM对话功能的封装、字典转模型框架、下拉上拉刷数据、表格行左右划动菜单、图文混搭、可以简单展示在UINa
2016-02-23 11:18:08 314
原创 iOS新鲜的AFNetworking3使用方法
post请求.h里面声明方法+ (void)postRequestWithUrl:(NSString *)urlString params:(NSDictionary *)params completion:(void(^)(id result))completionBlock failure:(void(^)(void))failureBlock;.m里面实现方法
2016-02-23 10:48:42 982
iOS13.0 aldsfjalsdfja lsdfajsd
2019-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人