【问题标题】:How to stop timer when enter to background?进入后台时如何停止计时器?
【发布时间】:2013-07-17 11:49:19
【问题描述】:

我有一个计时器可以将时间倒计时到 0。计时器在到达 0 时停止正常,并且在单击提交按钮时停止,但在退出应用程序并返回时计时器不会停止。 我试图在viewWillAppearinvalidate 中创建计时器viewWillDisappear 但从后台返回后计时器仍在运行。进入后台时如何停止计时器?有样品吗?

谢谢

【问题讨论】:

  • 我认为你必须在 app delegate 中尝试一下应用程序状态信息,以将您的应用程序恢复到其当前状态,以防以后终止。 // 如果您的应用程序支持后台执行,则在用户退出时调用此方法而不是 applicationWillTerminate:。 }

标签: iphone objective-c nstimer


【解决方案1】:

您可以使用NSNotificationCenter。为UIApplicationDidEnterBackgroundNotification 添加观察者并在其中停止计时器。在这种情况下,您不必在 AppDelegate 中创建计时器。

【讨论】:

    【解决方案2】:

    您可以使用:

    - (void)applicationDidEnterBackground:(UIApplication *)application 
    

    appDelegate 类的方法来停止你的时间。但为此,您必须在 appDelegate 类中声明计时器。此外,当您进入后台时,您必须坚持计数器。

    然后你可以使用viewWillAppear: 方法来重新启动计时器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多