iOS – Serveur d'ajout de NotificationCenter "UIMenuControllerWillHideMenu"

J'ai ajouté l'observateur de notification pour UIMenuControllerWillHideMenu mais il n'appelle pas le sélecteur ajouté / associé au centre de notification.

UIMenuControllerWillHideMenu est un identificateur de centre de notifications pour UIMenuController et doit être appelé lorsque UIMenuController est UIMenuController . Mais d'une manière ou d'une autre ça ne marche pas.

Voici le code que j'ai essayé (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) } 

Impossible d'identifier, quel est le problème.

Trouvé une solution en remplaçant NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu") avec juste .UIMenuControllerWillHideMenu

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

J'ai fait une erreur en ajoutant son initialiseur NSNotification.Name(rawValue: "UIMenuControllerWillHideMenu") , ce qui peut ne pas nécessiter comme NSNotificationName est typedef NSSsortingng , ce qui permet directement un access aux valeurs prédéfinies en utilisant .<value name>

Pour plus de détails:
addObserver: selector: nom: object:
NSNotificationName