Como a ação para um UIBarButtonItem personalizado no Swift pode ser definida?
O código a seguir coloca com sucesso o botão na barra de navegação:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:nil)
self.navigationItem.rightBarButtonItem = b
Agora, eu gostaria de ligar func sayHello() { println("Hello") }
quando o botão for tocado. Meus esforços até agora:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:sayHello:)
// also with `sayHello` `sayHello()`, and `sayHello():`
e..
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:@selector(sayHello:))
// also with `sayHello` `sayHello()`, and `sayHello():`
e..
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:@selector(self.sayHello:))
// also with `self.sayHello` `self.sayHello()`, and `self.sayHello():`
Observe que sayHello()
aparece no intellisense, mas não funciona.
Obrigado pela ajuda.
EDITAR: Para a posteridade, as seguintes obras:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:"sayHello")
action: "sayHello"