这是我用于初始化计时器的代码:
self.timer = [NSTimer scheduledTimerWithTimeInterval:5.0f
target:self selector:@selector(tick:) userInfo:nil repeats:YES];
NSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop];
[currentRunLoop run];
int a = 10;
调用“[currentRunLoop run];”后,“int a = 10;”不执行。(甚至在调用tick:方法之后)
为什么呢? 谢谢。
答案 0 :(得分:1)
[运行循环运行]在那里停止 - 它永远不会超过那段代码只是“循环”
您通常不需要创建自己的运行循环。
如果你想在一个单独的线程上实现一个计时器,只需在主线程上使用一个计时器,让目标方法在一个单独的线程上执行它的工作