Попробуйте сделать методы внутри InfoProtocol
как optional
, если вы не хотите нигде их реализовывать везде, не хотите давать реализацию по умолчанию с protocol extension
, т.е.
@objc protocol InfoProtocol {
@objc optional func getInfo(viewController: UIViewController)
@objc optional func setInfo(viewController: UIViewController)
}
Использование:
class ViewController: UIViewController, InfoProtocol {
override func viewDidLoad() {
super.viewDidLoad()
}
}
В приведенном выше коде, поскольку методы в InfoProtocol
являются optional
, поэтому их реализация в ViewController
не приводит к compile-time error
.