gpt4 book ai didi

ios - 我要疯了吗? UIApplicationWillEnterForegroundNotification 不适用于模拟器或设备

转载 作者:行者123 更新时间:2023-11-30 13:21:22 24 4
gpt4 key购买 nike

这是一个很简单的问题。在我的 View Controller 中,我正在注册“前台”通知:

override func viewDidLoad() {

super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MyViewController.applicationDidEnterForeground(_:)),
name: UIApplicationWillEnterForegroundNotification, object: nil)

}

func applicationDidEnterForeground(notification: NSNotification) {
print("I'm not going crazy")
}

我的期望

将应用程序置于前台后,应执行打印语句并将其打印到控制台。

但是...

这永远不会发生。我是一名经验丰富的 iOS 开发人员,我已经尝试了一个小时左右。

我到底错过了什么?这对其他人有用吗?尝试过:

  • 对象的不同值,(self、nil、UIApplication.sharedApplication())
  • 注册 UIApplicationDidEnterBackgroundNotification - 工作正常
  • 重新启动 Xcode、模拟器
  • 在设备和模拟器上运行
  • 清理构建文件夹

最佳答案

看起来 UIViewController 上的扩展正在调用

NSNotificationCenter.defaultCenter().removeObserver(self)

随意,不考虑任何子类。不是很有帮助,而且很难找到,因为扩展可能位于与您正在处理的任何内容完全无关的地方,甚至不一定是 View Controller 类层次结构的一部分。

如果您正在编写扩展...请记住这一点!!!

关于ios - 我要疯了吗? UIApplicationWillEnterForegroundNotification 不适用于模拟器或设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37739827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com