我正在开发一个应用程序,我在其中创建了一个定时器,该方法每隔1秒调用一次方法发出声音。
10秒后它会自动失效,但是在一个按钮点击事件中我已经在10秒完成之前停止了计时器,但是当我再次进入该视图时它会创建两个计时器和两次调用方法,而第三次它会调用相同的方法3次
DecilneTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(MakeSound) userInfo:nil repeats:YES];
我在按钮点击事件
上无效[DecilneTimer invalidate];
DecilneTimer=nil;
如何解决重复创建计时器???
答案 0 :(得分:0)
您应该使用:
self.DecilneTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(MakeSound) userInfo:nil repeats:YES];
使用self.propertyName = ...
您正在使用属性访问器并自动保留NSTimer
,以便不会一次又一次地创建它。你正在做的只是直接改变ivar值