簡體   English   中英

NotificationCenter - 未調用 addObserver

[英]NotificationCenter - addObserver not called

我正在嘗試使用 NotificationCenter 編寫一個非常簡單的代碼。 但是 addObserver 沒有被調用。 你們中的任何人都可以檢查並讓我知道我缺少什么。 有 2 個簡單的 class,一個發布通知,另一個監聽它。 當我運行程序時,我只在控制台中看到“發送通知”。

提前致謝。

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確實存在時您稍后看不到收到通知的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM