1

我正在编写一个小程序来显示 iPhone 上的当前时间(学习:D)。我遇到了这种困惑。

每秒调用 currentSystemTime (例如:stringFromDate: ),解析它并在屏幕上打印时间好吗?

调用一次上述例程并在计时器的每个滴答声中手动更新解析的秒会更有效吗?(比如说 ++seconds;写一些 if 循环来调整分钟和小时)。

第二种方法是否会导致与实际时间不同步?如果处理器负载增加左右?

考虑到这一切,这将是最好的方法。

4

2 回答 2

1

我怀疑与用于更新显示的 CPU 周期相比,查询系统时间的开销会很明显。设置一个 NSTimer 以触发您想要更新时钟显示的频率,并以这种方式更新您的显示。在您让应用程序正常工作之前,不要担心对其进行优化。

于 2009-03-17T07:07:48.897 回答
0

我会完全放弃秒数,只打印剩下的时间,然后你只需要每分钟解析一次。

那就是如果你想要一个时钟而不是秒表。说真的,我不记得上次我没有秒数看着时钟并想“天哪,我不知道现在是 12:51:00 还是 12:51:59。我将如何安排下一次约会?” )。

如果您想确保在更新分钟时相对准确,请按照以下步骤操作:

  • 获得全职(HHMMSS)。
  • 显示精确到分钟分辨率 (HH:MM)。
  • 从 61 中减去 SS 并休眠那么多秒。
  • 回到第一步。
于 2009-03-17T06:57:02.510 回答