这是我的代码:
- (IBAction)startTrip:(id)sender {
MainInt = 0;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(countup)
userInfo:nil
repeats:YES];
}
基本上,它是一个每1秒计数一次的计数器。它显示时间并且有效。直到这个IBAction再次发生,它应该重置为0并再次开始计数。它会重置,但会以超快的速度开始计数。
答案 0 :(得分:0)
您应该在再次启动之前使现有计时器无效。我假设timer
全局声明。
- (IBAction)startTrip:(id)sender {
MainInt = 0;
if (timer.isValid) {
[timer invalidate]; // here if timer is valid invalidate first.
}
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(countup)
userInfo:nil
repeats:YES];
}