【发布时间】:2016-01-02 09:48:04
【问题描述】:
我有一个需要每秒增加 500 的 9 位数字,但我决定每毫秒增加一个数字并更新显示该数字的标签。我正在使用NSTimer,但正如我在周围各处阅读的那样,它们并不准确,也不应该如此。我试过使用CFAbsoluteTimeGetCurrent,但无法让它工作。简单地使用NSTimer 会产生和不准确的值。每次用户打开应用程序时,递增不会停止,它只是将值相加并再次开始递增。
有什么想法吗?
更新:
尽管大多数答案都指向正确的方向,但我解决的问题有点不同。感谢所有回答的人和马丁。
我使用了CADisplayLink 而不是NSTimer,得到了相当准确和稳定的结果。现在请注意,我说的很漂亮,因为结果并不完全准确,但因为在我的情况下,我增加了一个 9 位数的数字,所以它们并不明显,并且一旦视图再次出现,我的数字就会得到纠正。
【问题讨论】:
标签: ios swift nstimer cadisplaylink