我试图用Swift 3中的协议描述父子模型。
protocol CatalogFilter: class {
var title: String { get }
associatedtype FilterItem: CatalogFilterItem
var items: [FilterItem] { get }
}
protocol CatalogFilterItem: class {
associatedtype Filter: CatalogFilter
var filter: Filter? { get }
var title: String { get }
}
但type may not reference itself as a requirement
associatedtype FilterItem: CatalogFilterItem
收到错误associatedtype FilterItem: CatalogFilterItem
,associatedtype Filter: CatalogFilter
收到同样的错误
也许有人知道如何处理这样的问题?
答案 0 :(得分:0)
protocol CatalogFilter: class {
var title: String { get }
associatedtype CatalogFilterItem
var items: [CatalogFilterItem] { get }
}
protocol CatalogFilterItem: class {
associatedtype Filter: CatalogFilter
var filter: Filter? { get }
var title: String { get }
}
尝试以上操作,因为看起来对关联类型的递归约束的支持仍然不可用。