ios - NSTimer-控制流程

标签 ios objective-c nstimer

当我使用 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/

相关文章:

ios - 类和动态调用属性,Swift

ios - 使用 ccrypto RSA 加密 2500 字节数据

swift - 如何快速检测(比如)2 秒的不活动?

iphone - 通过 NSTimer UserInfo 传递数据

ios - Swift 2 - 定时 Action 间隔一秒?

iOS 5 cellForRowAtIndexPath 内存泄漏

iphone - GameKit:在没有实际连接的情况下使用 GKSession 发送额外信息?

objective-c - Objective C 语法查询

ios - 为什么我会收到一条错误消息,指出自动布局为 'Unable to simultaneously satisfy constraints.'?

ios - 通过 ViewController 传递数据