在一个课程中,我添加了UITableView
和NSTimer
。
当我尝试滚动UITableView
冻结时。
如果未添加NSTimer
,则UITableView
工作正常。
以下是我添加NSTimer
if (self.timer != nil)
{
[self.timer invalidate];
self.timer = nil;
}
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self
selector:@selector(updateClock)
userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
请告诉我任何解决方案以及我出错了什么。
答案 0 :(得分:1)
你应该至少在.1秒或1秒钟之前调用计时器,然后你的应用程序的桌面视图不会被击中
答案 1 :(得分:0)
如果您想使用计时器更新时钟,可以使用以下代码:
https://github.com/nacho4d/ClockView
如果您想执行其他操作,可以使用:
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
//Background Thread
dispatch_async(dispatch_get_main_queue(), ^(void){
//Run UI Updates
});
});