runloop简单理解

2017-04-20  本文已影响18人  胡图仙人

CFRunLoopMode
RunLoop在同一时段只能且必须在一种特定Mode下Run
更换Mode时, 需要暂停当前的Loop,然后重启新的Loop

NSDefalutRunLoopMode      默认状态.空闲状态
UITrackingRunLoopMode     滑动ScrollView
NSRunLoopCommonModes     默认包括上面第一和第二

实例:添加timer给当前runloop时,如果选择NSDefalutRunLoopMode模式,则滑动界面时,timer停止运行,不滑动时运行;如果选择UITrackingRunLoopMode,则滑动时timer也能运行,不滑动时反而不运行。
如果是选择NSRunLoopCommonModes时,包括前两种情况,都运行。

CFRunLoopObserver
监听runloop,不能使用传统的kvo方式监听runloop。

需要使用CF类添加runloop监听,在btn点击时唤醒runloop,点击完runloop休眠。

上一篇 下一篇

猜你喜欢

热点阅读