2009-03-17 17 views
1

iPhoneで現在の時間を表示するための小さなプログラムを作成しています(学習:D)。私はこの混乱に遭遇しました。シンプルなクロックアプリケーションを作成するためのアプローチは何ですか?

1秒ごとにcurrentSystemTime(たとえば:stringFromDate:)を呼び出し、解析して画面上の時間を印刷しますか?

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

2番目のアプローチでは、実際の時間と同期が外れますか。プロセッサの負荷が増えるかどうかなど

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

答えて

0

私は秒を完全に落として残りの時間を印刷し、1分に1回だけ解析すればよい。

ストップウォッチではなく時計が必要な場合は、それです。真剣に、私は秒後に時計を見て最後に覚えていないと思った "ああ、それは12時51分または12時51分59秒かどうかわからない。どのように私は次の予約をするつもりですか? )。

あなたは分の更新に比較的正確だようにしたい場合は

は、次の手順に従います。

  • は、フルタイム(HHMMSS)を取得します。
  • 分の解像度(HH:MM)で表示します。
  • SSを61から差し引き、その数秒間スリープします。
  • 最初の手順に戻ります。
1

私は、システム時間を問い合わせるオーバーヘッドが、ディスプレイを更新するために使用されたCPUサイクルと比較して目立つとは思っていません。しかし、NSTimerを設定して時計の表示を更新したい場合は、頻繁に起動し、そのように表示を更新してください。アプリを稼働させるまで最適化を心配しないでください。

関連する問題