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

时间:2015-01-29 07:01:15

标签: objective-c macos cocoa

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

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

但我发现计时器不正确。

它总是比平时快2倍。

您的评论欢迎

2 个答案:

答案 0 :(得分:1)

NSTimer很可能没有错。 Apple会发现它。你没有提供任何代码,但我猜测你允许两个计时器运行,因为你没有使它们失效....导致事件被触发两次。我会仔细阅读您的代码,并确保这不会发生。

答案 1 :(得分:0)

我多次使用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];

此外,我不认为osxscheduledTimerWithTimeInterval: target:selector:

这样的api