Operator 演算子

==(_:_:)

Returns a Boolean value indicating whether two type-erased hashable instances wrap the same value. 2つの型消去ハッシュ可能インスタンスが同じ値をラップするかどうかを指し示しているブール値を返します。

Declaration 宣言

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

Parameters パラメータ

lhs

A type-erased hashable value. 型消去ハッシュ可能値。

rhs

Another type-erased hashable value. もう一方の型消去ハッシュ可能値。

Discussion 解説

AnyHashable considers bridged counterparts (such as a String and an NSString) of the same value to be equivalent when type-erased. If those compatible types use different definitions for equality, values that were originally distinct might compare as equal when they are converted to AnyHashable: 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"

Relationships 関係

From Protocol 由来プロトコル