@qixingguaizhuang
2016-05-28T04:01:37.000000Z
字数 572
阅读 575
RunLoop的基本作用:
RunLoop对象
iOS中有2套API来访问和使用RunLoop
NSRunLoop是基于 CFRunLoopRef 的一层OC包装,所以要了解RunLoop内部结构,需要多研究CFRunLoopRef层面的API(Core Foundation层面)
RunLoop与线程
- 每条线程都有唯一的一个与之对应的RunLoop对象
- 主线程中的RunLoop由系统自动创建,子线程中RunLoop可以通过手动创建
- RunLoop在线程结束的时候会被销毁
获取RunLoop对象
Foundation框架中
[NSRunLoop currentRunLoop];//获得当前线程的RunLoop对象
[NSRunLoop mainRunLoop]; // 获得主线程的RunLoop对象
Core Foundation框架中
CFRunLoopGetCurrent(); // 获得当前线程的RunLoop对象
CFRunLoopGetMain(); // 获得主线程的RunLoop对象