既存のオブジェクトを Cocoa のセットに追加することが実際にオブジェクトを置き換えるのか、それともaddObject:
重複がある場合は単に無視するのかを理解するのに苦労しています。特定のフィールドが等しい場合、別のオブジェクトと同じと見なされるカスタム オブジェクトを使用しています。
isEqual:
メソッドとhash
メソッドの両方をオーバーライドしてcontainsObject:
いて、呼び出すと戻りtrue
ますが、セットを新しいオブジェクトで更新したいのですが、何らかの理由で を呼び出すと機能しませんaddObject:
。
それを無視する場合NSMutableSet
、望ましい効果を得るために代わりに使用するのに最適なデータ構造は何でしょうか?