由于NSTimer,UITableView滚动受到干扰

时间:2014-05-17 07:51:10

标签: ios objective-c uitableview nstimer

在一个课程中,我添加了UITableViewNSTimer

当我尝试滚动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];

请告诉我任何解决方案以及我出错了什么。

2 个答案:

答案 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
    });
});