3

一部の C++ コードを ObjC に書き写しています。私が見ている operator==() は、プライベート メンバーを 1 つずつ比較し、それらがすべて true の場合に true を返します。

ObjC での operator==() の同等の実装は何ですか?

ブラウジングから、ObjC に次のように表示されます。

  • -等しい
  • -isEqualTo
  • -のようなものです
  • == (組み込み? オーバーライド不可?)
  • 私が見逃した他の人はいますか?

これらのメソッドのプロトコルは何ですか? (深い比較または浅い比較など...?) すべてのメンバーを比較する operator==() を置き換えるには、どちらを使用する必要がありますか?

4

1 に答える 1

4

isEqual:おそらくオーバーライドしたいものです。また、hash等しい 2 つのオブジェクトに対して同じ値が返されるようにします。

比較するためのプロトコルは実際にはありません。クラスにとって意味のあることは何でもしてください。のすべてのメンバーを比較している場合、operator==()それは深い比較になります。はい、使用しますisEqual:

于 2012-10-23T10:01:06.367 に答える