Я хотел бы вложить протокол в моем классе для реализации шаблона делегата следующим образом:
class MyViewController : UIViewController {
protocol Delegate {
func eventHappened()
}
var delegate:MyViewController.Delegate?
private func myFunc() {
delegate?.eventHappened()
}
}
Но компилятор этого не допустит:
Протокол "Делегат" не может быть вложен в другое объявление
Я легко могу заставить его работать, объявив MyViewControllerDelegate
вне области видимости класса.
У меня вопрос, почему такое ограничение?