1

私はiPhoneで現在の時刻を表示する小さなプログラムを書いています(学習:D)。私はこの混乱に出くわしました。

currentSystemTime(例:stringFromDate :)を毎秒呼び出して、それを解析し、画面に時間を出力するのは良いですか?

上記のルーチンを1回呼び出して、タイマーのティックごとに解析された秒を手動で更新する方が効果的でしょうか。(++秒のように言ってください;分と時間を調整するためにいくつかのifループを書いてください)。

2番目のアプローチでは、実際の時間と同期しなくなりますか。プロセッサの負荷が増加した場合はどうなりますか?

これをすべて考慮すると、これが最善のアプローチになります。

4

2 に答える 2

1

表示の更新に使用されるCPUサイクルと比較して、システム時刻のクエリのオーバーヘッドが目立つとは思えません。NSTimerを設定して、時計の表示を更新したい頻度で起動し、そのように表示を更新します。アプリが機能するようになるまで、最適化について心配する必要はありません。

于 2009-03-17T07:07:48.897 に答える
0

秒を完全に削除し、残りの時間を印刷するだけで、1分に1回だけ解析する必要があります。

それは、ストップウォッチではなく時計が必要な場合です。真面目な話、前回秒なしで時計を見て「12時51分00秒なのか12時51分59秒なのかわからない。次の約束はどうしたらいいの?」と思った時のことを思い出せません。 )。

分を更新する際に比較的正確であることを確認したい場合は、次の手順に従ってください。

  • フルタイムを取得します(HHMMSS)。
  • 分単位の解像度(HH:MM)まで表示します。
  • 61からSSを引き、その数秒間スリープします。
  • その最初のステップに戻ります。
于 2009-03-17T06:57:02.510 に答える