我正计划在我的应用程序中实现多任务。 我可以在这里看到很多方法可以在AppDelegate中执行此操作,例如applicationWillResignActiveapplicationDidEnterBackgroundapplicationWillEnterForeground,...

但是...。我看不到应该使用它们的方式,也看不到为什么它们不在ViewControllers中。也看不到它们的用途。

我的意思是:当应用进入后台时,我不知道我的用户在哪个视图上。 然后,当应用程序进入前台时,我将如何知道该怎么做以及可能调用什么来更新视图?例如

如果这些方法在每个视图控制器中都存在,我会理解的,但是在这里,我看不到它们可以用于具体方式...

您能帮助我理解在这些方法中实现事物的方法吗?

有帮助吗?

解决方案

当应用程序在后台运行时,每个对象都会收到一个UIApplicationDidEnterBackgroundNotification通知。因此,要在应用程序进入后台运行一些代码,您只需要在所需的位置收听该通知即可: 通用标签

当您不再需要监听时,别忘了释放监听器: 通用标签

最好的是,您可以通过以下通知进行相同的操作:

  • UIApplicationDidEnterBackgroundNotification
  • UIApplicationWillEnterForegroundNotification
  • UIApplicationWillResignActiveNotification
  • UIApplicationDidBecomeActiveNotification

其他提示

它们不在您的任何视图控制器中,因为iOS采用“委托”设计模式,可以确保在需要时可以在类(在本例中为应用程序的App Delegate)上触发方法。

作为一个学习过程,为什么不将NSLog放入这些方法中以查看它们何时被触发? 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top