NSRunLoop使用

来源:互联网 发布:mac skype 无法使用 编辑:程序博客网 时间:2024/06/06 09:44

今天有个需求,在cell上做定时器。这里的坑是当滚动tableView的时候,发现定时器不走了。这里的解决办法是把NSTimer放到runloop中,因为查阅资料发现,当滑动tableView的时候,主运行循环的Mode切换了,所以造成了这种现象。

这里mode有这几种情况:
1.NSDefaultRunLoopMode(kCFRunLoopDefaultMode):默认,空闲状态
2.UITrackingRunLoopMode:ScrollView滑动时会切换到该Mode
3.UIInitializationRunLoopMode:run loop启动时,会切换到该mode
4.NSRunLoopCommonModes(kCFRunLoopCommonModes):Mode集合
代码如下:

_timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(start) userInfo:nil repeats:YES];[[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
0 0
原创粉丝点击