我正在使用下面的代碼來發現暫停和取消暫停NSTimer
。我討厭不知道代碼是如何工作的,所以我希望有人能給我一個關於這裏發生的事情的簡要解釋。 pause
方法中使用的兩個NSDate
對象有什麼意義? resume
方法中的-1
有什麼意義?提前致謝!這個NSTimer Pause/Resume如何工作?
- (void) pause
{
pauseStart = [NSDate dateWithTimeIntervalSinceNow: 0];
previousFireDate = [self fireDate];
[self setFireDate: [NSDate distantFuture]];
}
- (void) resume
{
//
float pauseTime = -1 * [pauseStart timeIntervalSinceNow];
[self setFireDate: [previousFireDate initWithTimeInterval: pauseTime sinceDate: previousFireDate]];
}
恢復代碼不應該在已經初始化的日期使用init方法。改用'-dateByAddingTimeInterval:'代替。 – JeremyP 2013-05-01 18:10:27