Swiftでオブジェクトのポインタ比較を行う方法(参照を比較)

クラスのオブジェクト同士で参照比較を行いたい。Objective-Cの世界で言うところのポインタ比較ってやつだ。Javaの場合はインスタンス同士の比較って言うとわかり易いかな?

しかし以下のような==演算子による比較ではエラーが発生する。

class Foo {}
let foo = Foo()
foo == foo; // error: binary operator '==' cannot be applied to two 'Foo' operands

オブジェクトの参照を比較する際には===演算子を用いると良い。

foo === foo; // true
Foo() === Foo(); // false
広告
広告