检查Any是否符合Hashable并获取hash值
Check if Any conforms to Hashable and get hash value
我想获取一个Any
符合Hashable的对象的哈希值。
但是,使用此代码:
let anyValue: Any
//...
if let h = anyValue as? Hashable {
return h.hashValue
}
我遇到了这个错误
Protocol 'Hashable' can only be used as a generic constraint because it has Self or associated type requirements
您需要使用 AnyHashable
而不是 Hashable
,后者是 Hashable
协议的类型擦除版本,用于解决您遇到的特定错误。
if let h = anyValue as? AnyHashable {
我想获取一个Any
符合Hashable的对象的哈希值。
但是,使用此代码:
let anyValue: Any
//...
if let h = anyValue as? Hashable {
return h.hashValue
}
我遇到了这个错误
Protocol 'Hashable' can only be used as a generic constraint because it has Self or associated type requirements
您需要使用 AnyHashable
而不是 Hashable
,后者是 Hashable
协议的类型擦除版本,用于解决您遇到的特定错误。
if let h = anyValue as? AnyHashable {