NSTimerを使用して、特定の瞬間からカウントします。
int totalSeconds;
int totalMinutes;
int totalHours;
totalSecondsが60の場合、totalMinutsは+1になります。その非常にシンプルで動作するはずです。たとえば、私は自分のMacの時計と一緒にNSTimerを起動しました。(シミュレーターで実行)。Macの時計とタイマーを見て、最初の10〜20秒の時間を比較すると、完全に同期しています。その後、変動するか、5秒以上進みます。だから私は私のタイマーを出力し、これを見つけました:
- 2012-10-24 14:45:44.002 xxApp driveTime:0:0:44
- 2012-10-24 14:45:45.002 xxApp driveTime:0:0:45
- 2012-10-24 14:45:45.813 xxApp driveTime:0:0:46
- 2012-10-24 14:45:46.002 xxApp driveTime:0:0:47
ご覧のとおり、ミリ秒のタイミングは002です。しかし、3行目では813です。これは非常にランダムに発生し、変動を引き起こします。
より安定したカウント方法はありますか?