【发布时间】:2017-05-05 12:02:40
【问题描述】:
我正在尝试使这段代码工作
{ (tableview, originalItems, item, indexPath) in
guard let matchingItem = originalItems.filter({ matching($0, with: item.itemIdentifier) }).first else {
LogManager.Fatal.log("No item matching identifier : \(item.itemIdentifier)")
return nil
}
Some code
}
originalItems 是 [Any] 而我的功能是
static func matching<T: SectionRowRepresentable>(_ item: T, with identifier: String) -> Bool where T.Identity == AnyItemRepresentable.Identity
知道SectionRowRepresentable有一个关联类型Identity这一事实,我如何从Any推断T
public protocol SectionRowRepresentable: Equatable {
associatedtype Identity: Hashable
var itemIdentifier: String { get }
}
【问题讨论】:
标签: swift generics swift-protocols associated-types