<分区>
我有一个 9 位数的数字,需要每秒递增 500,但我决定每毫秒递增一次,并更新显示该数字的标签。我使用的是 NSTimer
,但正如我所读到的那样,它们既不准确也不准确。我试过使用 CFAbsoluteTimeGetCurrent
但无法正常工作。简单地使用 NSTimer
会产生不准确的值。递增不会在用户每次打开应用程序时停止,它只是将值相加并再次开始递增。
有什么想法吗?
更新:
尽管大多数答案都指向正确的方向,但我解决问题的方式有点不同。感谢所有回答者和 Martin。
我使用了 CADisplayLink
而不是 NSTimer
并且得到了非常准确和稳定的结果。现在请注意,我说漂亮是因为结果并不完全准确,但因为在我的情况下我增加了一个 9 位数,所以它们并不引人注意,一旦 View 再次出现,我的数字就会得到纠正。