我有一个计时器,我开始和停止多次。每次定时器停止后,如何累积值?
答案 0 :(得分: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];
等
答案 1 :(得分:0)
我明白了......这就是我的表现:
NSTimeInterval *accumulatedTime;
accumulatedTime += 1.0; // add one second
当然假设您有支持代码来启动,暂停和停止计时器。