2013-09-29 24 views
0

我有一個應用程序,我以不變的速度閃現單詞。假設它每分鐘設置爲60次。每個單詞然後顯示每個1秒。使用NSTimer可以很容易地完成。以不同的速度閃爍的東西的最佳方式(性能方面)是什麼?

但是,我想現在讓它變得更智能一點。較長的單詞顯示略長於較短的單詞。我已經算出瞭如何計算這個數學,但我不知道Objective-C如何爲0.15秒錶示一個單詞,然後是另一個單詞0.18秒,然後是第三個單詞0.04秒等等。取決於單詞的長度。

只是使用延遲是最好的方法嗎?

回答

1

您可以使用performSelector來延遲,但它不一定非常容易管理。

您可以使用NSTimer重複,併爲每個所需的新更新設置fireDate。這是相對昂貴的,但不如重複創建新的定時器。

您可以使用CADisplayLinkdurationframeInterval的組合來以屏幕刷新率的倍數進行更新。這應該是最高性能和準確的。

但是,總體而言,除非您有問題的某些證據和/或已完成一些分析,否則您不應該擔心性能問題。而是想一想你需要什麼功能,以及它們在每個解決方案中實現的容易程度。

相關問題