AnyHashable類型擦除的原因:set和dictory需要指定一個確定的類型
阿新 • • 發佈:2019-03-13
解決問題 指定 -s where get cti 統一 rip str
A type-erased hashable value.
public struct AnyHashable {
public init<H>(_ base: H) where H : Hashable
public var base: Any { get }
public static func == (lhs: AnyHashable, rhs: AnyHashable) -> Bool
}
let descriptions: [AnyHashable: Any] = [
AnyHashable("??"): "emoji",
AnyHashable(42): "an Int",
AnyHashable(Int8(43)): "an Int8",
AnyHashable(Set(["a", "b"])): "a set of strings"
]
public struct Dictionary<Key, Value> where Key : Hashable
Key通常要指定一個確定的類型,如果類型不統一,向上抽象;向上無法解決問題,使用AnyHashable
AnyHashable類型擦除的原因:set和dictory需要指定一個確定的類型