我的应用程序绘制了一个计时器(精确到 0.1 秒),我目前正在为此使用每 0.1 秒触发一次的 NSTime。这感觉像是一个绝对糟糕的主意,但我不确定该怎么做。我真的不关心 .1 秒更新总是,但我希望它每秒更新一次以上。有什么好的方法吗?
最佳答案
NSTimer
在我看来并不是一个糟糕的方法。 NSTimer
通常是一种非常常规的时间跟踪方式(事实上,它在 CADisplayLink
出现之前就被用于动画计时)。除非您看到计时器显示更新的性能 Not Acceptable ,否则我会坚持使用这种方法。
如果您遇到延迟和时间读数不准确的问题,您可以将开始时间存储在 NSDate
中,并继续使用 NSTimer
但仅更新显示.在每个计时器事件触发时,您然后通过查找从开始时间到现在的 NSTimeInterval 来更新显示。这样即使出现性能问题,至少当前的显示在显示时应该保持准确。
关于ios - 更新计时器 UI 的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5916136/