In von Swift 2,3 bis Swift Umwandeln 3, erhalten I den Fehler der oben für die folgende Zeile des Codes:Nil nicht kompatibel mit dem erwarteten Argumenttyp Selector ist
var contactButton: UIBarButtonItem {return self.CustomRightItem("icon-nav-nls-contact", target: self, action: nil)}
Das Problem ist auf der nil
Aktion. Ich habe versucht, Selektor zu verwenden und zu leeren: #selector()
und `` `#selector (nil) beide vergebens.
Wie kann ich eine Null-Aktion in Swift 3 behandeln?
CustomRightItem sieht aus wie eine benutzerdefinierte Instanzmethode, die ein UIBarButtonItem erstellt. Vielleicht müssen Sie Ihre Funktion neu schreiben, um einen 'Selector?' (Optionaler Selektor) anstelle eines Selektors zu verwenden? Oder, wie Sie in Ihrer eigenen Antwort zeigen, übergeben Sie einen tatsächlichen Selektor. –
Es sieht so aus, als ob die Swift-Initialisierer für UIBarButtonItem einen optionalen Selektor verwenden, also sollte die Änderung Ihrer Funktion, um einen 'Selector? –