【发布时间】:2012-02-13 09:18:12
【问题描述】:
我的计时器有问题。
在viewDidLoad 的游戏视图中,我有:
sixtySecondTimer = [NSTimer scheduledTimerWithTimeInterval:(1.0/1.0) target:self selector:@selector(changeValue) userInfo:nil repeats:YES];
接下来我有changeValue方法:
- (void) changeValue {
timerInt += 1;
NSLog(@"TimerInt2 = %d", timerInt);
NSString *string = [NSString stringWithFormat:@"%d", timerInt];
labelTimer.text = string;
}
然后我使用以下命令转到上一个视图:
- (IBAction)backView:(id)sender {
timerInt = 0;
[self.navigationController popViewControllerAnimated:YES];
}
当我在命令行的前一个视图中时,我可以看到:
2012-02-13 10:04:33.393 Colores[1240:707] TimerInt2 = 1
2012-02-13 10:04:34.393 Colores[1240:707] TimerInt2 = 2
2012-02-13 10:04:35.393 Colores[1240:707] TimerInt2 = 3
当我在命令行中进入游戏视图时,我可以看到:
2012-02-13 10:04:36.393 Colores[1240:707] TimerInt2 = 4
2012-02-13 10:04:36.508 Colores[1240:707] TimerInt2 = 1
2012-02-13 10:04:37.393 Colores[1240:707] TimerInt2 = 5
2012-02-13 10:04:37.508 Colores[1240:707] TimerInt2 = 2
2012-02-13 10:04:38.393 Colores[1240:707] TimerInt2 = 6
2012-02-13 10:04:38.508 Colores[1240:707] TimerInt2 = 3
问题是我的计时器没有停止,当我再次进入游戏视图时创建“新”变量 timerInt...当我再次进入前一个视图并再次进入游戏视图时,我有三个 timerInt 变量。
我该如何解决?
【问题讨论】:
标签: iphone objective-c ios nstimer