Ios 通知中心不工作。观察员没有被叫来
我试图从Swift中的另一个类调用函数,Ios 通知中心不工作。观察员没有被叫来,ios,swift,nsnotificationcenter,Ios,Swift,Nsnotificationcenter,我试图从Swift中的另一个类调用函数,NotificationCenter是一个选项,因此我从addObserver开始 override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver(self, selector: #selector(toggleSideMenu), name: NSNotification.Name("callToggleSideMenu")
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
}
}
在另一节课上,我增加了(帖子):
一切似乎都好,但我不知道为什么它不工作。我在stackoverflow中看到了很多相同的问题,但没有答案解决了我的问题 函数定义不正确。应该是:
@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)
函数定义不正确。应该是:
@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)
addObserver
是在post之前调用的吗?addObserver
是在post之前调用的吗?选择器应该是#selector(toggleSideMenu)
,或者#selector(toggleSideMenu)
,而不是选择器(toggleSideMenu:)
。选择器应该是#selector(toggleSideMenu)
,或者#selector(toggleSideMenu(:)
,而不是#选择器(toggleSideMenu:)
。