swift - 覆盖符合 associatedtype 的基类的类型
问题描述
可以说我有这门课:
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
”在基类中指定的值。
我怎样才能实现这种行为?
解决方案
推荐阅读
- jenkins - 从活动选择参数动态调用函数,参数不起作用
- reactjs - 在功能组件中设置状态。(对象中的数组中的对象)
- php - cPanel 中的敏感文件存储在哪里?
- json - NoSuchMethodError:类'_InternalLinkedHashMap
' 没有具有匹配参数的实例方法 'cast' - javascript - 基于 HTML 表单检查来自 JavaScript 的重复项的 Google Sheets JSON
- laravel - 如何在 Laravel7 中更新图片 Summernote?
- python - 查找列表中值大于常量的第一个元素
- pygame - 有没有办法创建一个时间限制,一旦达到时间就会导致 pygame 关闭?
- web-audio-api - 如何在javascript中停止麦克风
- r - 如果数值变量 > 或 < 0.5,如何将数值变量更改为 YES,NO?