当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift AnyHashable ==(_:_:)用法及代码示例


操作符

==(_:_:)

返回一个布尔值,指示两个 type-erased 可散列实例是否包装相同的值。

声明

static func == (lhs: AnyHashable, rhs: AnyHashable) -> Bool

参数

lhs

type-erased 可散列值。

rhs

另一个 type-erased 可哈希值。

详述

当 type-erased 时,AnyHashable 认为相同值的桥接对应项(例如 StringNSString )是等效的。如果这些兼容类型对相等使用不同的定义,则最初不同的值在转换为 AnyHashable 时可能会比较为相等:


let string1 = "café"
let string2 = "cafe\u{301}" // U+301 COMBINING ACUTE ACCENT
let nsString1 = string1 as NSString
let nsString2 = string2 as NSString
let typeErased1 = nsString1 as AnyHashable
let typeErased2 = nsString2 as AnyHashable
print(string1 == string2)         // prints "true"
print(nsString1 == nsString2)     // prints "false"
print(typeErased1 == typeErased2) // prints "true"

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 AnyHashable ==(_:_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。