1. 程式人生 > >AnyHashable類型擦除的原因:set和dictory需要指定一個確定的類型

AnyHashable類型擦除的原因:set和dictory需要指定一個確定的類型

解決問題 指定 -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需要指定一個確定的類型