重置后NSTimer无法正常工作

一月

我有一个NSTimer,当应用程序在前景中时应该可以工作,但是当应用程序进入后台时应该停止。但如果再次来到前台计时器则无法正常工作。有什么办法吗?

收件箱

(viewDidLoad){
    myTimer = [NSTimer scheduledTimerWithTimeInterval: 0.60 target: self selector: @selector(saveSlow) userInfo: nil repeats: YES];
   if([[NSUserDefaults standardUserDefaults] boolForKey:@"enterBG"]==YES)
   {
        [myTimer invalidate];
        myTimer = nil;
   }
 ....
 }
久利

enterBG在应用程序进入前台后,您是否重置了bool值如果不是这样,即使生成了计时器,也将在以后再次使其无效。

还有一点,您在中生成了计时器-viewDidLoad,通常,视图生命周期只会调用一次。下次您的应用进入前台时,将不会调用它。这可能是计时器不再起作用的另一个原因。 您可以尝试将其放置 -viewWillAppear: 您需要手动调用代码段。

还有一个建议,您最好使用相关的通知来处理计时器:

UIApplicationDidEnterBackgroundNotification
UIApplicationWillEnterForegroundNotification

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章