У меня есть протокол:
@objc protocol SomeProtocol { }
, которое я расширяю для UIViewController
экземпляров. В этом расширении я хочу создать и добавить кнопку, селектор которой также определен в протоколе:
extension SomeProtocol where Self: UIViewController {
func addSomeButton() {
let someButton = UIButton()
someButton.addTarget(self, #selector(someButtonPressed), for: .touchUpInside)
view.addSubview(someButton)
}
@objc func someButtonPressed() {
}
}
Однако я получаю сообщение об ошибке @ objc можно использовать только с членами классов, протоколами @objc и конкретными расширениями классов при определении someButtonPressed
.
Есть ли способ добиться этого с помощью протоколов?
Заранее спасибо за любые предложения!