Ich versuche, programmgesteuert mehrere Tasten zu generieren. Für den Augenblick, was hier ist, was ich habe:UIButton.addTarget mit Swift 3 und lokale Funktion
for i in POIArray {
let newI = i.replacingOccurrences(of: "GPS30", with: "")
let button = UIButton(type: .custom)
button.setImage(UIImage(named: newI), for: .normal)
button.frame.size.height = 30
button.frame.size.width = 30
button.addTarget(self, action: #selector(buttonAction(texte:newI)), for: UIControlEvents.touchUpInside)
XIBMenu?.stackMenuIco.addArrangedSubview(button)
}
und meine Funktion:
func buttonAction(texte: String) {
print("Okay with \(texte)")
}
Wenn ich den Parameter 'texte' entfernen, es funktioniert. Die Buttons sind gut zum Stack hinzugefügt, aber ich brauche diesen Parameter, um eine Variable zu übergeben. Ich erhalte einen Fehler Buildtime:
Argument of '#selector' does not refer to an '@objc' method, property, or initializer
Ja danke Xcode Ich weiß, dass es nicht eine objc Methode, weil ich in schnellen bin Codierung!
Wer kennt sich aus?
Mögliche Duplikat e von [Attach Parameter zu button.addTarget Aktion in Swift] (http://stackoverflow.com/questions/24814646/attach-parameter-to-button-addttarget-action-in-swift) – KTPATEL