涉及Mode ?http://www.cocoachina.com/ios/20160323/15770.html
這是否刷新取決于timer加入到Run Loop中的Mode是什么枝誊。Mode主要是用來指定事件在運行循環(huán)中的優(yōu)先級的腌零,分為:
NSDefaultRunLoopMode(kCFRunLoopDefaultMode):默認(rèn),空閑狀態(tài)
UITrackingRunLoopMode:ScrollView滑動時會切換到該Mode
UIInitializationRunLoopMode:run loop啟動時混巧,會切換到該mode
NSRunLoopCommonModes(kCFRunLoopCommonModes):Mode集合
蘋果公開提供的Mode有兩個:
NSDefaultRunLoopMode(kCFRunLoopDefaultMode)
NSRunLoopCommonModes(kCFRunLoopCommonModes)
在編程中:如果我們把一個NSTimer對象以NSDefaultRunLoopMode(kCFRunLoopDefaultMode)添加到主運行循環(huán)中的時候, ScrollView滾動過程中會因為mode的切換,而導(dǎo)致NSTimer將不再被調(diào)度。當(dāng)我們滾動的時候,也希望不調(diào)度拭荤,那就應(yīng)該使用默認(rèn)模式。但是疫诽,如果希望在滾動時舅世,定時器也要回調(diào),那就應(yīng)該使用common mode奇徒。