Добавление метода @objc в качестве действия к кнопке и получение «Аргумент« #selector »не относится к методу, свойству или инициализатору« @objc »» - PullRequest
1 голос
/ 21 октября 2019

Я добавляю действие к моей кнопке

let button = UIButton()
button.addTarget(self, action: #selector(touchButton(button)), for: .touchUpInside)

И у меня есть метод @objc

@objc public func touchButton(_ sender: UIButton) {
    let soundNumber = soundButtons.index(of: sender)!   //The index of the button
    ...
}

Почему я все еще получаю

Argument of '#selector' does not refer to an '@objc' method, property, or initializer

1 Ответ

3 голосов
/ 21 октября 2019

Используемая вами подпись не соответствует вашему методу objc. Правильный селектор будет touchButton(_:), а не touchButton(button).

...