我有一個NSTimer
,我停下來,分別與下面的方法恢復:的NSTimer無法正常暫停和恢復
-(void) pauseTimer:(NSTimer *)timer {
self.scene.paused = YES;
pauseStart = [NSDate date];
previousFireDate = [timer fireDate];
[timer setFireDate:[NSDate distantFuture]];
}
-(void) resumeTimer:(NSTimer *)timer {
self.scene.paused = NO;
NSDate *currentDate = [NSDate date];
NSTimeInterval pauseTime = [currentDate timeIntervalSinceDate:pauseStart];
NSDate *neededFireDate = [NSDate dateWithTimeInterval:pauseTime sinceDate:previousFireDate];
[timer setFireDate:neededFireDate];
NSLog(@"Fire Date: %@", timer.fireDate); //returning null
}
它不能正常復位火日期,因爲當我檢查timer.fireDate,它說null
。我們只需要這些方法來暫停計時器,並在繼續方法被調用時恢復停止的計時器。任何幫助是極大的讚賞。
是你的問題[這是一個副本](http://stackoverflow.com/questions/9975562/how-to-pause-play-nstimer)? –
你是否檢查過'neededFireDate'不是零? – Macondo2Seattle
@BlackRider'neededFireDate'不是'nil'。這是一個有效的'NSDate' - '2014-03-03 23:11:33 + 0000'。 –