On Sep 18, 2008, at 4:59 PM, Dave DeLong wrote:

On Sep 18, 2008, at 3:57 PM, Rick Mann wrote:

I see that NSObject (and its protocol) define -isEqual: and - isEqualTo:. What's the difference? Why does something like NSArray's -indexOfObject: use -isEqual: and not -isEqualTo:? So that someone can redefine these for an existing class? Why does - isEqualTo: even exist?


IIRC, isEqual: compares memory addresses, whereas isEqualTo: compares hashes of the objects being compared. I also believe that isEqual: is the preferred method.

Nope. isEqual: asks the object to compare itself to another. The default implementation just uses identity (pointer comparison), but many subclasses use value comparison or whatever is appropriate.

isEqualTo: is used for scripting support. By default, it's equivalent to isEqual:, but a class can override it to perform different scripting-specific comparison.

Cheers,
Ken

_______________________________________________

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