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]