NSTimer时间戳时间间隔问题
我有以下代码:
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerCount:) userInfo:nil repeats:YES]; -(void)timerCount:(NSTimer *)timer { NSTimeInterval dt = [timer timeInterval]; // do something }
我得到的 NSTimeInterval 将为 0.5,这是我放在cheduledTimerWithInterval 上的时间间隔,这意味着timerCount 将每 0.5 秒调用一次。
但我现在有一些像时间戳这样的东西,我想知道 NSTimer 是否每次都会精确地在 0.5 秒内调用timerCount 方法。
I have the following code:
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerCount:) userInfo:nil repeats:YES]; -(void)timerCount:(NSTimer *)timer { NSTimeInterval dt = [timer timeInterval]; // do something }
The NSTimeInterval I got will be 0.5, the time interval I've put on scheduledTimerWithInterval, this means the timerCount will be called each 0.5 seconds.
But I now that there are some stuff as timeStamps, and I want to know if the NSTimer will call the timerCount method in PRECISELY 0.5 seconds each time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在主线程上使用 NSTimer 不会得到这个结果,因为计时器仅由事件循环调用。
如果您需要最大精度,只需创建一个具有自己的消息循环的线程并在那里安排计时器。
You won't get that using NSTimer on main thread as the timer is only called by event loop.
If you need maximal precision just create a thread with it's own message loop and schedule the timer there.
}
}