这里讲述的是页面实现多个定时器(计时器)时选用NSTimer还是GCD?(干货不湿)的文章,具体方法请看介绍 定时器在我们每个人做的iOS项目里面必不可少,如登录页面倒计时、支付期限倒计时等等,一般来说使用NSTimer创建定时器: + (NSTimer *)timerWithTimeInterva ...
分类:
其他好文 时间:
2018-04-02 18:08:28
阅读次数:
218
/** * This is a very very helpful category for NSTimer. * * @author huangyibiao * @email huangyibiao520@163.com * @github https://github.com/632840804 ...
分类:
其他好文 时间:
2018-02-14 19:41:40
阅读次数:
187
一、BLOCK 循环引用 一般表现为,某个类将block作为自己的属性变量,然后该类在block的方法体里面又使用了该类本身。构成循环引用。 // 定义 block 的时候,会对外部变量做一次 copy,强引用, self自身为强引用。 解决方案如下: 二、计时器NSTimer循环引用 主要是因为从 ...
分类:
移动开发 时间:
2018-02-07 19:50:28
阅读次数:
238
1、NSRunloop https://www.jianshu.com/p/296f182c8faa 2、编程代码规范 http://blog.csdn.net/qs_csu/article/details/53899236 3、Instruments简单使用方法介绍 https://www.jia ...
分类:
其他好文 时间:
2018-01-17 12:32:07
阅读次数:
136
1.第三方框架使用不当 比如AFNetworking的内存泄漏,使用单例模式解决 2.block的循环引用 weakself和strongself配合使用 3.delegate循环引用问题 使用weak修饰即可 4.NSTimer循环引用 注意NSTimer的销毁时机 5.非OC对象内存处理 使用完 ...
分类:
移动开发 时间:
2017-12-27 14:20:51
阅读次数:
256
什么是Runloop Runloop即运行循环。为什么你的APP放在那里不去动它,在某个时间点去操作它,它还会给你反馈。就是因为Runloop的存在。 总结一下,因为Runloop的存在,保证你的程序不会死。 主要负责什么? 使程序一直运行并接受用户输入 决定程序在何时处理一些Event 调用解耦( ...
分类:
移动开发 时间:
2017-12-12 17:50:53
阅读次数:
271
每一个app的启动,开启主线程的同时,也开启了一个Runloop死循环,runloop会不断询问是否有新的任务给线程执行。runloop最常用的三块,就是网络事件,事件响应与NSTimer。网络事件现在基本上都用已经封装好的框架,但是最初用NSURLConnection进行网络请求的时候,会出现异步 ...
分类:
移动开发 时间:
2017-11-12 14:14:42
阅读次数:
265
1. [self performSelector:@selector(fangfa) withObject:nil afterDelay:0.5]; // performSelector 2. [NSTimer scheduledTimerWithTimeInterval:1.5 target:se ...
分类:
移动开发 时间:
2017-10-18 20:00:39
阅读次数:
246
iOS开发中,涉及到定时的问题,我们通常使用NSTimer来解决,例如下面的代码。 SFClass.h SFClass.m 由于定时器会保留target对象,所以上面的代码会造成SFClass对象和NSTimer对象的相互引用,会导致内存泄漏问题。 我们可以通过下面的方式来解决。 NSTimer+S ...
分类:
其他好文 时间:
2017-10-16 23:28:40
阅读次数:
258
引言: 验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下 效果图 效果图 实现思路: 创建按钮, 添加点击方法; 用NSTimer定时器, 每秒执行一次, 定时改变Button的title,改变Button的样式, ...
分类:
移动开发 时间:
2017-09-25 00:55:38
阅读次数:
170