Olá, quando crio um UIBarButtonItem programaticamente conforme código abaixo o compilador apresenta o erro "Argument of '#selector' refers to instance method 'showNewItem()' that is not exposed to Objective-C".
override func viewDidLoad() {
let newItemButton = UIBarButtonItem(title: "new item",
style: UIBarButtonItemStyle.plain,
target: self,
action: #selector(showNewItem)) <---- Erro
navigationItem.rightBarButtonItem = newItemButton
}
func showNewItem() {
print("new item...")
}
}
Fiz algumas pesquisas e adicionei ao método showNewItem o @objc, e passou a funcionar.
@objc
func showNewItem() {
print("new item...")
}
Isso é uma boa prática? Existe outra solução?
Estou utilizando o Xcode 9.2.
Abraços.