我有如下倒计时计时器:
- (void)updateCounterLabel:(NSTimer *)theTimer {
if(secondsLeft > 0 ){
secondsLeft -- ;
hours = secondsLeft / 3600;
minutes = (secondsLeft % 3600) / 60;
seconds = (secondsLeft %3600) % 60;
countDownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
}
else{
secondsLeft = timeInterval;
}
-(void)countdownTimer {
if([timer isValid]){
[timer invalidate];
timer = nil;
}
timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateCounterLabel:) userInfo:nil repeats:YES];
}
----我的问题是,每次调用这个计时器时,它都会像这样递增: secondLeft-3 , secondLeft -5 ,secondLeft - 7 .....
每次我的视图加载时,我都会创建一个新的计时器,但旧的计时器仍然存在。在我的计时器的操作方法中,我正在减少一个跟踪秒数的索引变量,并且每个计时器每次触发时都会运行该方法。因此,如果我有三个计时器,则索引每次都会递减三个。
例如:
第一次加载:60、59、58...
第二次加载:60、58、56...
第三次加载:60、57、54...
问题:如果没有上述问题,我如何重新启动或重新创建计时器?请有人帮帮我。