Hom*_*0ar 3 iphone exc-bad-access objective-c nstimer ios
我在我的应用程序中设置了两个计时器,每隔几秒重复一次.除非是时间使计时器无效,否则一切正常.当手机被锁定时,我想让这些计时器无效,然后在手机解锁时重新创建它们.
我使用通知来实现何时无效/创建计时器.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notify_didBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notify_willResigneActive:) name:UIApplicationWillResignActiveNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
这是notify_didBecomeActive方法包含的内容:
clockTicker = [[NSTimer scheduledTimerWithTimeInterval: 1
target: self
selector: @selector(showActivity)
userInfo: nil
repeats: YES] retain];
alarmTicker = [[NSTimer scheduledTimerWithTimeInterval: CONST_ALARMTIMER
target: self
selector: @selector(checkAndLaunchAlarm)
userInfo: nil
repeats: YES] retain];
Run Code Online (Sandbox Code Playgroud)
这个notify_willResigneActive方法包含:
if (alarmTicker) {
[alarmTicker invalidate];
[alarmTicker release];
alarmTicker = NULL;
}
if (clockTicker) {
[clockTicker invalidate];
[clockTicker release];
clockTicker = NULL;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我在第二个计时器上调试这个无效时,我得到了错误.奇怪的是,如果我切换定时器的命令(比如首先使clockTicker失效)..我仍然在第二个定时器上得到错误.
我能做错什么?
谢谢,莱昂纳多
归档时间: |
|
查看次数: |
6236 次 |
最近记录: |