Wenn ich eine Swift 3 App auf die 4 migrieren möchte, hat mich Xcode gebeten, @objc
vor ein paar meiner Funktionen hinzuzufügen. Und als ich es tat, zeigen Sie mir eine Warnung, dass "@objc veraltet ist" Ich fragte mich, ob es eine bessere Lösung für die Handhabung addTarget
in Swift 4 gibt?Aktion bei UIButton in Swift hinzufügen 4
Hier ist meine UIButton:
let playButton: UIButton = {
let btn = UIButton(type: .system)
btn.setTitle("Play", for: .normal)
btn.setTitleColor(.green, for: .normal)
btn.addTarget(self, action: #selector(playTapped), for: .touchUpInside)
return btn
}()
func:
@objc func playTapped() {
let path = AudioPlayerManager.shared.audioFileInUserDocuments(name: "test")
AudioPlayerManager.shared.playAudio(path: path)
}
es möglich Aktion auf die Schaltfläche hinzuzufügen, ohne #selector
mit und `@objc '?
Danke.
Es gibt mehr Beiträge dieses Problem zu diskutieren, und alle von ihnen mit der Lösung beenden Dadurch werden veraltete Warnungen deaktiviert. Allerdings frage ich mich auch, ob es eine neue, Swift 4-Möglichkeit gibt, dies zu tun, ohne '@ objc' zu verwenden, da der' xcode' angibt, dass er veraltet ist. – sCha
Ich erinnere mich, darüber gelesen zu haben, aber ich bin ziemlich eingerostet. Was passiert, wenn Sie nur den @ @ objc-Teil entfernen? –
haben Sie diese Antwort überprüft: https://stackoverflow.com/questions/45784758/programming-a-uibutton-is-not-working-in-swift-4-xcode-9-beta-6-cannot-add- targ # 45795626 – NSIceCode