ns计时器重复创建2-3次

时间:2015-05-09 12:42:47

标签: ios nstimer

我正在开发一个应用程序,我在其中创建了一个定时器,该方法每隔1秒调用一次方法发出声音。
10秒后它会自动失效,但是在一个按钮点击事件中我已经在10秒完成之前停止了计时器,但是当我再次进入该视图时它会创建两个计时器和两次调用方法,而第三次它会调用相同的方法3次

    DecilneTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(MakeSound) userInfo:nil repeats:YES];

我在按钮点击事件

上无效
[DecilneTimer invalidate];
DecilneTimer=nil;

如何解决重复创建计时器???

1 个答案:

答案 0 :(得分:0)

您应该使用:

self.DecilneTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(MakeSound) userInfo:nil repeats:YES];

使用self.propertyName = ...您正在使用属性访问器并自动保留NSTimer,以便不会一次又一次地创建它。你正在做的只是直接改变ivar值