2016-08-29 2 views
48

Я пытаюсь добавить цель в кнопку так:Selector синтаксис для быстрой 3.0

btnAll.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside) 

Но это дает мне ошибку:

Use of unresolved identifier 'buttonTapped'

Но я объявленной функции, как:

func buttonTapped(sender: UIButton) { 

    print("All Tapped") 
} 

Может ли кто-нибудь сказать мне, что является правильным способом для этого в быстром. 3.

+2

Покажите нам свой метод buttonTapped. Методы IBAction могут иметь параметры 0, 1 или 2 в зависимости от того, как вы их настроили, и мы не можем знать, какую форму вы использовали. –

ответ

70

Добавить цель, как,

теперь должен быть записан в виде #selector(buttonTapped(sender:)) или использовать #selector(buttonTapped(_:))

btnAll.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside) 

затем изменить функцию, как,

func buttonTapped(_ sender : UIButton){ 

.... 
} 
+11

Это то, что я уже ответил .. :) –

+0

Он меняет функцию на @objc –

+0

@NikKov - pardon –

17

Вы можете сделать это следующим образом:

btnAll.addTarget(self, action: #selector(buttonTapped(sender:)), for: .touchUpInside) 
Смежные вопросы