ios - NSTimer 毫秒精度

标签 ios swift nstimer cadisplaylink

<分区>

我有一个 9 位数的数字,需要每秒递增 500,但我决定每毫秒递增一次,并更新显示该数字的标签。我使用的是 NSTimer,但正如我所读到的那样,它们既不准确也不准确。我试过使用 CFAbsoluteTimeGetCurrent 但无法正常工作。简单地使用 NSTimer 会产生不准确的值。递增不会在用户每次打开应用程序时停止,它只是将值相加并再次开始递增。 有什么想法吗?

更新:

尽管大多数答案都指向正确的方向,但我解决问题的方式有点不同。感谢所有回答者和 Martin。

我使用了 CADisplayLink 而不是 NSTimer 并且得到了非常准确和稳定的结果。现在请注意,我说漂亮是因为结果并不完全准确,但因为在我的情况下我增加了一个 9 位数,所以它们并不引人注意,一旦 View 再次出现,我的数字就会得到纠正。

最佳答案

你可以获得准确度

timer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(countup)userInfo:nil repeats:YES];

关于ios - NSTimer 毫秒精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34564551/

相关文章:

ios - 使用 NSOutputstream 有什么好处?

objective-c - UIImage - 根据温度调整图像

ios - Xcode 中的 Storyboard 引用,我们应该在哪里使用它?

ios - UITableView 中最后一个单元格丢失

ios - Swift 2 我应该使用 2 个 NSTimers 还是 1 个用于延迟启动计时器

ios - Swift:防止 NSTimer 自动启动

ios - KeyPress 上的 UISearchbar 触发方法

ios - 当我的 UITableViewCell 的内容发生变化时,我如何告诉它 "auto-resize"?

xcode - 在 Swift 中子类化 UIViewController 的样板代码

ios - NSTimer 有错误消息?