这个ViewController是应用程序启动时出现的第一个ViewController,当它启动时应该调用authenticateUser(),但是函数根本没有被调用。相同的代码在我以前的一个项目中工作正常,但这里没有。我需要在新版本的Swift中添加/更改更多代码吗?
类FormsTableViewController:UITableViewController{
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(self.authenticateUser), name: UIApplication.didFinishLaunchingNotification, object: nil)
}
@objc func authenticateUser() {
(UIApplication.shared.delegate as! AppDelegate).authenticateUserIfNecessary()
}
}
最佳答案
很有可能你有比赛条件。为什么不在AppDelegate
和VC的didFinishLaunching
中添加一个print语句或断点来检查顺序呢。您可以在通知已发送后附加到viewDidLoad
。
关于ios - View Controller中未观察到“完成启动通知”吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55778024/