【发布时间】:2019-06-25 15:28:18
【问题描述】:
我已经创建了这些类:
class BaseViewModel<NavigatorType> {
typealias Navigator = NavigatorType
var navigator: Navigator!
}
class BaseViewController<ViewModel: BaseViewModel<Any>>: UIViewController {
typealias ViewModel = ViewModel
var viewModel: ViewModel!
}
class MyVC: BaseViewController<MyViewModel> {
}
class MyViewModel: BaseViewModel<MyNavigator> {
}
现在的问题是我在MyVC 类上收到此错误:
'BaseViewController' 要求 'MyViewModel' 继承自 'BaseViewModel
<Any>'
如果我从BaseViewController 通用参数中删除BaseViewModel<Any>,则会出现错误。但我想限制视图控制器的通用 ViewModel 仅从 BaseViewModel 继承。
知道怎么做吗?
【问题讨论】:
标签: swift