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