如果主线程忙,NSTimer何时触发?以下是有问题的代码行:
[NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(onTimer:)
userInfo:nil
repeats:YES];
我对NSTimer有点新手(并运行循环和线程),谢谢你的帮助。我的应用程序刷新了主线程上安排的NSTimer。如果刷新计时器在指定的确切时间间隔触发并且不等待主线程释放,则可能会出现问题。
一个示例是,如果用户在链接到数据的屏幕上执行某些操作,然后刷新后立即触发并更改该数据,从而导致应用程序崩溃。这可能会发生,还是在主线程上解析用户操作之前刷新不会触发?
答案 0 :(得分:1)
NSTimer
在当前运行循环(即本例中的主运行循环)上调度计时器,因此如果主线程忙,则计时器不会触发,直到您回到主运行循环。
有关详细信息,请参阅Timer Programming Topics和NSTimer Class Reference。