【发布时间】:2011-11-15 06:27:31
【问题描述】:
在我的应用中,我使用了计时器,
当第一次启动计时器时,我想在它进入后台时停止该计时器,
所以我用这段代码来停止计时器,
- (void)applicationWillEnterForeground:(UIApplication *)application
{
FirstViewController *view = [[FirstViewController alloc]init];
[view.myticker invalidate]; //myticker is timer
view.myticker = nil;
[view release];
}
我在前台委托方法调用时使计时器无效,
但是当来到视图控制器时,旧计时器仍在运行,
当计时器进入后台时如何使计时器无效?
【问题讨论】:
-
快速检查:确保 view.myticker 不是 nil 并在您的 applicationWillEnterForeground 方法中进行 NSLog 检查,然后再尝试使其无效
-
我已经检查过当它进入后台时 Timer 不是 nil。之后我尝试 nil 一个 Timer。
标签: iphone objective-c cocoa-touch ios4 nstimer