我正在尝试将多个计时器添加到一个线程,而不是主线程。这里是代码:
- (IBAction)addTimer:(id)sender
{
if (!_timerQueue) {
_timerQueue = dispatch_queue_create("timer_queue", NULL);
}
dispatch_async(_timerQueue, ^{
NSTimer *tempTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:tempTimer forMode:NSRunLoopCommonModes];
[[NSRunLoop currentRunLoop] run];
});
}
上面的方法是由一个按钮动作触发的。但是无论我点击多少次按钮,调度块中的代码都只运行一次。所以该线程中只有一个计时器。我想知道为什么?