Comment définir l'action pour une UIBarButtonItem en Swift

Comment l'action personnalisé UIBarButtonItem dans Swift être mis en?

Le code suivant réussit le bouton dans la barre de navigation:

var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:nil)
self.navigationItem.rightBarButtonItem = b

Maintenant, je voudrais appeler func sayHello() { println("Hello") } lorsque le bouton est touché. Mes efforts jusqu'à présent:

var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:sayHello:)
// also with `sayHello` `sayHello()`, and `sayHello():`

et..

var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:@selector(sayHello:))
// also with `sayHello` `sayHello()`, and `sayHello():`

et..

var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:@selector(self.sayHello:))
// also with `self.sayHello` `self.sayHello()`, and `self.sayHello():`

Noter que sayHello() apparaît dans l'intellisense, mais ne fonctionne pas.

Merci pour votre aide.

EDIT: Pour la postérité, les ouvrages suivants:

var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:"sayHello")
  • vous passez des sélecteurs dans swift simplement en mettant le sélecteur dans une chaîne de caractères, action: "sayHello"
  • Je vous remercie beaucoup. Je suis sous pression pour obtenir ce et a été frustré.
  • Cette question a été marqué comme un double de @selector() dans Swift?. Toutefois, cette question porte spécifiquement sur UIBarButtonItem tandis que l'autre ne l'est pas. Nécessitant des débutants afin de généraliser à toutes les utilisations de selector peut être difficile pour eux, je suis à la suppression de la double statut, afin que les gens peuvent garder cette question à jour.
InformationsquelleAutor kmiklas | 2014-07-08