让我说我上了这个课:
protocol GenericViewModel {
associatedtype Model
associatedtype ViewModel
}
class BaseVc: GenericViewModel {
typealias Model = ModelA
typealias ViewModel = ViewModelA
var baseVm:ViewModel<Model>
}
现在我想使用baseVm属性的其他类型扩展基本vc
class AwesomeVc: BaseVc {
typealias Model = ModelB
typealias ViewModel = ViewModelB
}
预期的结果是,当我键入viewModel
时,我应该看到编译器可以识别ViewModelB
,实际上,我看到没有办法“ override
”中指定的值基类。
我该如何实现这种行为?