Я немного смущен.Пожалуйста, посмотрите на этот пример.
Я создал протокол VM:
protocol VM {
}
И этот протокол используется в моей реализации VC
final class VC: UIViewController {
let viewModel: VM
}
Теперь я создаю специальные новые протоколы
protocol AwesomeProtocol {
}
protocol AwesomeViewProtocol {
var viewModel: AwesomeProtocol { get }
}
Моя идея состоит в том, чтобы расширить VM
с помощью Awesomeness
, поэтому:
protocol VM: AwesomeProtocol {
}
final class VC: UIViewController, AwesomeViewProtocol {
let viewModel: VM
}
Но здесь я встретил ошибку компилятора:
Тип 'VC' несоответствует протоколу 'AwesomeViewProtocol'
Несмотря на то, что VM
extension AwesomeProtocol
Кто-то может объяснить мне, что я делаю неправильно?