On Sep 18, 2008, at 7:32 PM, Shawn Erickson wrote:

On Thu, Sep 18, 2008 at 4:19 PM, Keith Duncan <[EMAIL PROTECTED]> wrote:
if two objects compare equal, then they must have the same hash [...] [you] have to implement a corresponding -hash that maintains this invariant
rule.

Is there an example somewhere of what one should do to implement - hash to reflect -isEqual:, I haven't done so in one of my classes and it works fine. Would you just combine the -hash of the objects used to determine - isEqual:
in a logical manner, say XOR?

The only requirement is that if [objectA isEqual:objectB] returns true
then [objectA hash] == [objectB hash] must be true as well.

Additional care must be taken if you are implementing a mutable object and intend to store it in a collection: the object's -hash cannot change while it is in the collection (so effectively, the object's hash cannot be derived from any mutable properties of the object.)

Jim
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to