NSTimer 在 OS X(OS X 10.9) 上不正确

NSTimer is not correct on OS X(OS X 10.9)

我使用下面的代码每 1 秒触发并执行一些功能

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:nil]

但是我发现定时器不正确

总是比正常速度快 2 倍。

欢迎您的评论

NSTimer 很可能没有错。苹果会发现它。您没有提供任何代码,但我推测您允许两个计时器 运行 因为您没有使它们无效....导致事件被触发的频率是原来的两倍。我会通读您的代码并确保不会发生这种情况。

我用过很多次NSTimer。以前从未有过这样的问题。您必须在多个线程中使用计时器 运行。请确认。

-(void)callIt:(NSTimer *)timer{
   NSLog(@"%s", __PRETTY_FUNCTION__);
}

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(callIt:) userInfo:nil repeats:YES];
    [timer fire];

此外,我不认为 osx 有 api 像 scheduledTimerWithTimeInterval: target:selector: