如何比较两个对象是否真的是同一个对象?

16 iphone cocoa cocoa-touch objective-c uikit

我想比较一个变量A是否代表与变量B相同的对象.

我可以用==运算符吗?

或者这看起来还有什么?我想我需要检查变量所指向的对象的内存地址,对吧?

Pet*_*sey 35

==运营商测试是否两个表达式是相同的指向同一个对象.Cocoa将这种关系称为"相同"(例如,参见NSArray的indexOfObjectIdenticalTo:).

要测试两个对象是否相等,您可以向其中一个isEqual:消息发送消息(或者更具体的消息,例如isEqualToString:,如果它响应一个消息),则传递另一个对象.YES如果你真的只有一个对象(显然等于它自己)或者你有两个相等的对象,那么这将返回.在后一种情况下,==将评估为NO.