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:
我使用下面的代码每 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: