AnyHashable
explicitly type-erases
:
AnyHashable类型将等式比较和散列操作转发给底层可散列值,隐藏其特定的底层类型。
任意哈希
. 预期用途是使用
AnyHashable.init
as AnyHashable
.
你的意思是:
enum TestEnum: String {
case test
}
let myObject = AnyHashable(TestEnum.test)
myObject.base // => test (as an Any)
myObject.base as? TestEnum // => Optional<TestEnum>(.test)
任意哈希
是一种完全不同于
Any
或
AnyObject
. 后两种是协议。前者是一种类型擦除结构。前缀
Any...
在stdlib中,除了奇怪的特殊情况(你应该尽可能避免)外,它的意思是“键入橡皮擦”
和
任何对象