isEqualTo:和isEqual之间的区别:

时间:2011-08-17 17:02:02

标签: objective-c cocoa methods

这些方法之间的区别是什么?

2 个答案:

答案 0 :(得分:38)

isEqual:是NSObject协议的一部分,用于比较对象。

isEqualTo:是Cocoa AppleScript支持基础结构的一部分(具体来说,NSComparisonMethods,它允许AppleScript比较Cocoa对象)。它通常与isEqual:相同,但如果您希望在内部和脚本中以不同的方式工作,则可以覆盖它。

答案 1 :(得分:6)

isEqualTo:NSComparisonMethods非正式协议的一部分,该协议还包含isGreaterThan:isNotEqualTo:等方法,用于脚本支持。和

  

如果发送到同一对象的isEqualTo:消息返回YES,则NSObject提供的此方法的默认实现返回YES。

因此,当将此消息发送到NSObject(或任何不覆盖它的子类)时,您将获得与isEqual:相同的行为,但是,您应该使用isEqual:代替。