何度も開始および停止するタイマーがあります。タイマーが毎回停止した後、値を累積するにはどうすればよいですか?
質問する
148 次
2 に答える
0
タイマーが開始したら、開始時刻をメモします。タイマーが作動するたびに、現在の時刻と開始時刻の差を合計に追加します。次に、開始時刻を現在の時刻にリセットします。タイマーが停止しているときは、現在の時刻と開始時刻の差を合計に加算するか、アプリケーションに依存しませんが、開始時刻はリセットしません。タイマーを再起動するときは、合計に何も追加せずに、開始時間をリセットしてください。
だからこのようなもの:
startTime = [[NSDate alloc] initWithTimeIntervalSinceNow]; // This is an NSDate* in your class
次に、タイマーが作動したとき:
NSDate* currentTime = [NSDate dateWithTimeIntervalSinceNow];
accumulatedTime += [currentTime timeIntervalSinceDate:startTime]; // accumulatedTime is an NSTimeInterval in your class
[startTime release];
startTime = [currentTime retain];
等
于 2012-08-12T14:25:25.377 に答える
0
私はそれを理解しました...これが私がそれをした方法です:
NSTimeInterval *accumulatedTime;
accumulatedTime += 1.0; // add one second
もちろん、これは、タイマーを開始、一時停止、および停止するためのサポートコードがあることを前提としています。
于 2012-08-12T20:20:33.050 に答える