在xcode中停止计时器?

时间:2014-02-24 22:06:51

标签: ios nstimer

**非常感谢大家!我使用了jeffaphone和Martin H的答案,一直盯着这几个小时非常感谢你:) * *

我正在开发一个项目,我有一个简短的声音文件,在游戏运行时每1.35秒播放一次,但是当游戏停止时我如何关闭计时器?如果你什么也不做,声音文件会继续循环,如果你再次开始游戏,就会开始一个新的循环。

到目前为止我的代码是这个;

if ((self.currentState = GameStateRunning)) {

self.timer = [NSTimer scheduledTimerWithTimeInterval:1.35 target:self selector:@selector(sound:) userInfo:nil repeats:YES];
 //   [self sound:nil];

}
else if ((self.currentState = GameStateEnded)) {
     [sound removeAllActions];

我已经尝试停止声音,但似乎没有用,所以有没有办法停止或重置计时器,以便循环停止,直到游戏再次启动?

1 个答案:

答案 0 :(得分:1)

停止计时器:

[self.timer invalidate];
self.timer = nil;

请注意,您没有保留计数,因此您不会将其释放(如果您不是ARC)。