NotificationCenter - 未调用 addObserver
NotificationCenter - addObserver not called
我正在尝试使用 NotificationCenter 编写一个非常简单的代码。但是 addObserver 没有被调用。你们中的任何人都可以检查并让我知道我错过了什么。有 2 个简单的 class,一个 post 通知,另一个监听它。当我 运行 程序时,我只在控制台中看到“发送通知”。
提前致谢。
Class 1:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("sending notification")
NotificationCenter.default.post(name: Notification.Name("test"), object: nil)
}
}
Class 2:
class secondvc: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("second vc")
NotificationCenter.default.addObserver(self,
selector: #selector(doThisWhenNotify(_:)),
name: Notification.Name("test"),
object: nil)
}
@objc func doThisWhenNotify(_ notification: Notification) {
print("inside notification")
}
}
如果在 ViewController
出现时,secondvc
还不存在,那么那里没有人会收到发布的通知,这就是为什么你看不到当 secondvc
确实 存在时收到通知。
我正在尝试使用 NotificationCenter 编写一个非常简单的代码。但是 addObserver 没有被调用。你们中的任何人都可以检查并让我知道我错过了什么。有 2 个简单的 class,一个 post 通知,另一个监听它。当我 运行 程序时,我只在控制台中看到“发送通知”。
提前致谢。
Class 1:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("sending notification")
NotificationCenter.default.post(name: Notification.Name("test"), object: nil)
}
}
Class 2:
class secondvc: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("second vc")
NotificationCenter.default.addObserver(self,
selector: #selector(doThisWhenNotify(_:)),
name: Notification.Name("test"),
object: nil)
}
@objc func doThisWhenNotify(_ notification: Notification) {
print("inside notification")
}
}
如果在 ViewController
出现时,secondvc
还不存在,那么那里没有人会收到发布的通知,这就是为什么你看不到当 secondvc
确实 存在时收到通知。