Аргумент '#selector' не относится к методу, свойству или инициализатору @objc в целевой кнопке Swift - PullRequest
0 голосов
/ 19 октября 2019

Я хочу отправить параметр в мои данные, функция с селектором, но он не работает, как я могу это сделать?

btnDetails.addTarget(self, action:#selector(goToDetailsFromMap(mid:id)), for: .touchUpInside)

Ответы [ 2 ]

1 голос
/ 20 октября 2019

Вы можете создать пользовательскую кнопку:

class CustomButton: UIButton {
    var someId: Int?
    ...
}

Затем в вашем viewController

    ...    
    btnDetails.someId = ...
    btnDetails.addTarget(self, action:#selector(didTapCustomButton(_:)), for: .touchUpInside)
    ...

@objc func didTapCustomButton(_ sender: CustomButton) {
    if let id = sender.someId {
        //Do something with id
    }
}
0 голосов
/ 19 октября 2019

добавление селектора к кнопке с кодом с использованием swift 5.0

myButton.addTarget(self, action:#selector(myButtonTapped), for: .touchUpInside)

объявление функции

 @objc func myButtonTapped() {
      //do stuff here
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...