通知中心不工作。观察者未被调用

Notification Center not working. The observer is not being called

我正在尝试从 Swift 中的另一个 class 调用一个函数,而 NotificationCenter 是一个选项,所以我从 addObserver 开始。

override func viewDidLoad() {
    super.viewDidLoad()

    NotificationCenter.default.addObserver(self, selector: #selector(toggleSideMenu), name: NSNotification.Name("callToggleSideMenu"), object: nil)
}

@objc func toggleSideMenu(){
    if isMenuOpen {
        sideContainer.constant = -260
    } else {
        sideContainer.constant = 0
    }
}

在另一个 class 中,我添加了 (post):

@objc func clickOnButton(button: UIButton) {
   NotificationCenter.default.post(name: NSNotification.Name("callToggleSideMenu"), object: nil)
}

一切似乎都很好,但我不知道为什么它不起作用。我在 Whosebug 中看到了很多相同的问题,但没有答案解决了我的问题。

函数定义不正确。应该是:

@objc func toggleSideMenu(_ notification: Notification){
    if isMenuOpen {
        sideContainer.constant = -260
    } else {
        sideContainer.constant = 0
    }
 }  

使用以下方式调用它:

NotificationCenter.default.addObserver(self, selector: #selector(toggleSideMenu(_:)), name: NSNotification.Name("callToggleSideMenu"), object: nil)