0

我有一个应用程序,我可以在其中以恒定的速度闪烁单词。假设它设置为每分钟 60 次。然后每个单词显示 1 秒钟。很容易用NSTimer.

但是,我现在想让它更智能一点。较长的单词比较短的单词显示的时间稍长。我已经弄清楚如何计算这个的数学,但我不确定如何在 Objective-C 中呈现一个单词,比如 0.15 秒,然后是另一个单词 0.18 秒,然后是第三个单词 0.04 秒,等等.,取决于单词的长度。

只是使用延迟是最好的方法吗?

4

1 回答 1

1

您可以使用performSelector延迟,但它不一定很容易管理。

您可以使用NSTimer、重复和设置所需fireDate的每个新更新。这相对昂贵,但比重复创建新计时器要少。

您可以CADisplayLink结合使用durationframeInterval以屏幕刷新率的倍数获取更新。这应该是最有效和最准确的。

但是,总的来说,在您有一些问题的证据和/或进行了一些分析之前,您不应该担心性能。相反,请考虑您需要哪些功能以及使用每个解决方案实施这些功能的难易程度。

于 2013-09-29T17:25:03.140 回答