Je suis en train de passer UIBarButtonItem
comme argument, mais je reçois l'erreur suivante:Comment passer argument à la méthode avec '#selector'
Argument of '#selector' does not refer to an '@objc' method, property, or initializer
@objc func barClicked(sender: AnyObject) {
}
override func viewDidLoad() {
super.viewDidLoad()
let bar: UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 50))
bar.barStyle = UIBarStyle.default
bar.items = [
UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(barClicked(sender: bar.items[0])))]
bar.sizeToFit()
}
également essayé #selector(barClicked(sender: bar.items[0] as AnyObject
Merci
S'il vous plaît jeter un oeil à la section « connexes », Cela a été demandé et répondu à plusieurs reprises. Vous * ne pouvez pas * passer des arguments dans le sélecteur. –
FYI - Le bouton sera l'argument. Vous n'avez pas besoin de le spécifier vous-même. – rmaddy
@MartinR Merci, existe-t-il une alternative pour résoudre ce problème? –