我的应用程序即将完成,Beta 测试在秒表部分发现了一个错误......秒表使用 nstimer 进行计数并有一个用于存储圈数的表,但是当圈表滚动时,手表会停止或暂停并且不弥补失去的时间。
通过使用以下方法消除了这种停滞:
startingTime = [[NSDate date] timeIntervalSince1970];
计算经过的时间。
但我仍然使用 NSTimer 每 0.1 秒触发一次,这意味着即使经过的时间最终会正确更新,滚动仍然会停止计时器......并将其与 Apple 秒表进行比较让我想知道是否秒表有一个单独的线程,仅用于计算经过的时间。有谁知道这是怎么做的?
现在,使用 Epoch 以来的时间在某种意义上运行良好,但它使启动、停止和重新启动秒表的事情变得复杂
当手表停止时,时间被存储并用于计算手表重新启动时的偏移量,但是似乎引入了一些延迟,并且当手表重新启动时时间明显提前。
任何对根本原因或解决方案的想法将不胜感激。