【发布时间】:2017-08-12 13:36:42
【问题描述】:
我有以下通用协议:
protocol Store {
associatedtype Model
func fetch(byId id : Int) -> Model
func add(model: Model) -> Bool
}
如何初始化/创建关联类型 Model 的新实例?例如
protocol RestStore: Store
extension RestStore {
func fetch(byId id : Int) -> Model {
let object = Model() // error here
// ...
return object
}
}
我收到以下错误:
Non-nominal type 'Self.Model' does not support explicit initialization
我也尝试过约束 Model 类型,如下所示:
protocol RestStore: Store where Model == AnyClass
但这都不起作用。我想创建一个关联类型 Model 的实例,有什么想法吗?
【问题讨论】:
标签: swift generics swift3 swift-protocols