我发现这个链接(nested generics in swift 3)解决了我的一个问题,但现在问题是当我尝试使用嵌套泛型从UIView继承(在这种情况下)编译器崩溃。
class BaseModel {}
class BaseVM<T: BaseModel> {}
class BaseService<T: BaseModel, U: BaseVM<T>> : UIView {
//init viewmodel with generic model
}
class Human : BaseModel {
var name = ""
}
class HumanVM: BaseVM<Human> {
var name = ""
init(model : Human) {
super.init()
name = model.name
}
}
class HumanService: BaseService<Human, HumanVM> {}
此特定代码: UIView
会使编译器崩溃。
这是一个限制吗?或者我可能做错了什么。
编辑:它适用于Swift 3.1 beta。
答案 0 :(得分:0)
适用于Swift 3.1 beta
然后使用Swift 3.1 beta(Xcode 8.3)。它introduces许多新的嵌套通用功能,并修复了许多与泛型有关的编译器错误。