我正在尝试解决以下问题: - 如果用户强制退出应用程序,然后在强制退出后进入应用程序,我想从核心数据中获取一些数据,然后将其显示在 View Controller 上。
我尝试使用以下观察者:
notification.addObserver(self, selector: #selector(reloadTimerOnAppStart),
name: NSNotification.Name.UIApplicationDidBecomeActive,
object: nil)
此观察者在每次应用加载时工作,应用首次加载时除外。
例如 - 强制退出应用程序 - 运行应用程序(没有任何反应) - 关闭应用程序 - 打开应用程序(选择器起作用)
它只是第一次不起作用。
我是不是在错误的地方实例化了它?它应该发生在 appDelegate 内部吗:
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
// check if db has any outstanding running tasks
// if it does then start the singleton timer
// display it accordingly on the view.
}
applicationDidBecomeActive 应该被调用,所以我只是有点不确定发生了什么。
在另一个注意事项中,如果你在 appDelegate.swift 文件的这个函数中放置一个 UIAlert
func applicationDidBecomeActive(_ application: UIApplication) {
AlertUser()
// with UIAlertController //
}
然后每次都会出现这个提示!即使在应用程序强制退出后的第一次加载时,也希望能得到一些关于如何解决这个问题的帮助,这样我才能真正让 View Controller 工作。
最佳答案
我认为无法调用该方法,因为您正在强制关闭应用程序,这会破坏应用程序的生命周期,也许这对您没有太大帮助,但请想一想。
关于ios - Swift applicationDidBecomeActive 观察者 UIApplicationDidBecomeActive 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44313207/