isEqualTo和isEqual之间的区别:

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

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

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

isEqualTo:是NSComparisonMethods非正式协议的一部分,它也包含isGreaterThan:isNotEqualTo: ,并用于脚本支持。 和:

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

所以当把这个消息发送给一个NSObject(或任何不覆盖它的子类)时,你会得到和isEqual:一样的行为isEqual:但是,你应该使用isEqual:来代替。