我有一个模态UIViewController:
let rVC = RecoveryViewController()
rVC.modalPresentationStyle = .overFullScreen
self.present(rVC, animated: true, completion: nil)
在此ViewController的
viewDownload
中,我有一个函数user.checkUserData()
,该函数将在作业完成后发送NSNotifications。当然,这些通知中的任何一个都是观察者:
NotificationCenter.default.addObserver(self, selector: #selector(RecoveryViewController.userVIP), name: userDataIsHere, object: nil)
但是似乎我的模态ViewController无法接收任何通知,因为什么也没有发生。同时,如果我尝试将这样的观察者添加到父UIViewController(非模态)中,它将像一个超级按钮一样工作(实际上,我检查了一下)。
我的通知非常简单,并且
let userDataIsHere = Notification.Name("userDataIsHere")
NotificationCenter.default.post(name: userDataIsHere, object: nil)
我在这里做错了什么?
最佳答案
尝试这个。
class ViewController: UIViewController {
let userDataIsHere = Notification.Name("userDataIsHere")
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(modalPopUp), name: userDataIsHere, object: nil)
}
@objc func modalPopUp() {
let rVC = RecoveryViewController()
rVC.modalPresentationStyle = .overFullScreen
self.present(rVC, animated: true, completion: nil)
}
}