NSNotification.Name.NSExtensionHostWillEnterForeground не работает - PullRequest
0 голосов
/ 21 октября 2019

Я могу использовать NSNotification в последней версии Xcode 11.1. Я могу попытаться обновить значения полей с помощью моей функции refreshFields () после возвращения в приложение из фона. Мой код успешно компилируется, но функция applicationWillEnterForeground () никогда не вызывается. Где ошибка?

@objc func applicationWillEnterForeground(notification: NSNotification) {
    refreshFields()
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear( animated)
    let app = UIApplication.shared
    NotificationCenter.default.addObserver(self, selector: #selector(self.applicationWillEnterForeground(notification:)), name: NSExtensionHostWillEnterForeground, object: app)
}

1 Ответ

0 голосов
/ 21 октября 2019

Я нашел решение. Ошибка в названии уведомления. Это должно быть: UIApplication.willEnterForegroundNotification

@objc func applicationWillEnterForeground(notification: NSNotification) {
    refreshFields()
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear( animated)
    let app = UIApplication.shared
    NotificationCenter.default.addObserver(self, selector: #selector(self.applicationWillEnterForeground(notification:)), name: UIApplication.willEnterForegroundNotification, object: app)
}
...