每条线程都有唯一的一个RunLoop对象与之对应的 主线程的RunLoop是自动创建并启动 子线程的RunLoop需要手动创建 子线程的RunLoop创建步骤如下: 在子线程中调用[NSRunLoop currentRunLoop]创建RunLoop对象(懒加载,只创建一次) 获得RunLoop对象 ...
分类:
编程语言 时间:
2017-09-22 13:06:48
阅读次数:
259
可以使用GCD创建定时器 创建定时器: 注意创建gcd定时器timer后,需要保存timer,需要有个引用引用timer,要不然timer会销毁 取消定时器 总结 GCD定时器 1.时间调度很准确,时间是以纳秒为单位,比NSTimer更加精确 2.GCD是不受runloop的影响, 比如:拖动scr ...
分类:
其他好文 时间:
2017-09-09 12:58:56
阅读次数:
316
写这篇文章开始之前,我都不知道runloop是什么东西,如果从字面的意思翻译应该是一直循环的跑,怀疑可能和死锁有关系,可是死锁具体是怎么回事,我只是记得有这个说法,也发现了一个自己不懂的知识。 初识runloop 我在网上看了一下@sunnnyxx 关于runloop的视频.了解了一下runloop ...
分类:
移动开发 时间:
2017-08-24 22:34:04
阅读次数:
231
参考学习了YY大神的http://blog.ibireme.com/2015/05/18/runloop/#mode RunLoop: 看做是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行上面 Event Loop 的逻辑。线程执行了这个函数后,就会一直处于这个函数内部 ...
分类:
其他好文 时间:
2017-08-22 14:48:35
阅读次数:
271
AFN原理&& AFN如何使用RunLoop来实现的: 1、 2、如果序列化失败,就直接执行了failure block,否则继续3 3、 4、对dataTask设置请求之后的回调Delegate和处理block 表示在这个区间里忽略一些特定的clang的编译警告,因为AFNetworking作为一 ...
分类:
Web程序 时间:
2017-08-22 14:47:54
阅读次数:
634
一、GCD Timer的创建和安放 尽管GCD Timer并不依赖于NSRunLoop,可是有没有可能在某种情况下,GCD Timer也失效了?就好比一開始我们也不知道NSTimer相应着一个runloop的某种mode。 先来看看GCD Timer的用法: dispatch_source_t ti ...
分类:
其他好文 时间:
2017-08-20 13:34:34
阅读次数:
308
摘自:优化UITableViewCell高度计算Swift版、优化UITableViewCell高度计算的那些事 本文带大家详细探索那篇文章所对应的库(1.2版),这个库就是利用缓存tableviewcell的高度提高滑动的流畅性。 主要是利用Runloop在空闲状态时,后台计算tableviewc ...
分类:
其他好文 时间:
2017-08-18 20:12:29
阅读次数:
716
RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 IndexRunLoop ...
分类:
移动开发 时间:
2017-08-16 21:41:31
阅读次数:
277
场景一 :NStimer timer就是一个能在从如今開始的未来的某一个时刻又或者周期性的运行我们指定的方法的对象 NSTimer运行的必要条件:相应线程的RunLoop要开启,mode要相应 以下看timer的循环引用: 如图,我们写这种一个类,当我们初始化这个类就会有一个timer开启。然后当我 ...
分类:
移动开发 时间:
2017-08-03 18:10:31
阅读次数:
260