-1

何度も開始および停止するタイマーがあります。タイマーが毎回停止した後、値を累積するにはどうすればよいですか?

4

2 に答える 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 に答える