iOS – NotificationCenter addObserver“UIMenuControllerWillHideMenu”

我已经为UIMenuControllerWillHideMenu添加了通知观察者,但是它不会调用添加/关联通知中心的select器。

UIMenuControllerWillHideMenuUIMenuControllerWillHideMenu的通知中心标识符,应该在UIMenuController隐藏时UIMenuController 。 但不知何故,这是行不通的。

这里是我试过的代码(Swift 3.x):

 private func addMenuObserverNotification(){ NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu"), object: nil) } // This function should be called on 'UIMenuControllerWillHideMenu' func menuControllerWillHideMenu() -> Void { removeMenuObserverNotification() } private func removeMenuObserverNotification(){ NotificationCenter.default.removeObserver(self) } 

无法识别,什么是错的。

通过用NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")replaceNSNotification.Name(rawValue: "UIMenuControllerWillHideMenu")find解决scheme

 private func addMenuObserverNotification(){ NotificationCenter.default.addObserver(self, selector: #selector(self.menuControllerWillHideMenu), name: .UIMenuControllerWillHideMenu), object: nil) } 

我做了一个错误,通过添加它的初始化NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu") ,可能不需要NSNotificationName是typedef NSString ,它直接允许访问预定义的值使用.<value name>

更多细节:
的addObserver:select:名称:对象:
NSNotificationName