RunloopMode

一个runloop只能在某一个mode中跑,runloop可以在多个mode之间进行切换,默认的,系统提供了两个

mode:NSDefaultRunloopMode和UITrackingRunloopMode。正常情况下是default,但是如果一个

scrollView滑动的时候(UITableView是scrollView的子类)runloop就会切换到

UITrackingRunloopMode,这时候所有往default里面添加的内容都没法跑起来了。这也是为什么,如果使用NSTimer的

schedule方法来调度timer,当一个tableView滚动的时候timer会停止,就是因为schedule将把timer添加进

default,而tableView滚动的时候runloop切换到了UITrackingRunloopMode,此时default中的timer

就跑不起来了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容