当我使用 NSTimer 在特定时间间隔调用函数时,如下所示:
NSTimer *myTimer =[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(func1) userInfo:nil repeats:YES];
是否会调用后台线程以处理每 2 分钟调用一次 func1 的计时器?
程序控制在 NSTimer 代码段之前和之后如何流动?这些代码段是否在主线程上运行?
最佳答案
计时器将在主线程(或计时器安排的任何线程)上调用,并且此功能由 run loop 处理.
您可以使用以下方法进行测试:
- (void)func1
{
NSLog(@"Ping! On main thread=%@", [NSThread isMainThread] ? @"Yes" : @"No");
}
关于ios - NSTimer-控制流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631027/