2011-05-06 73 views
0

我的应用程序绘制了一个计时器(详细信息为.1秒),目前我正在使用每隔1秒触发一次的NSTime。这感觉像一个绝对可怕的想法,但我不知道该怎么做。我并不关心0.1秒更新,但我希望它每秒更新一次以上。有没有一个好的方法来做到这一点?什么是更新计时器UI的最佳方式

回答

3

NSTimer并不是一个坏方法。 NSTimer通常是一种非常规律的方式来跟踪时间(事实上它在CADisplayLink出现之前用于动画计时)。除非你看到你的计时器显示更新不可接受的性能,否则我会坚持这种方法。

如果您遇到延迟和读数不准确的问题,可以将开始时间存储在NSDate中,并继续使用NSTimer,但仅用于更新显示。在每次定时器事件触发时,您都会通过查找从开始时间到现在的NSTimeInterval来更新显示。即使存在性能问题,这种方式至少在显示时至少显示的时间应该保持准确。

+0

我实际上最终只是为了好玩而使用GCD定时器源,但在做了更多的研究之后,我意识到我对NSTimer的恐惧有点不合理。谢谢。 – axiixc 2011-06-14 14:26:31

相关问题