2011-05-06 74 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

相關問題