我想比较变量 A 和变量 B 是否表示相同的对象。
我可以使用 == 运算符来实现吗?
或者这到底在看什么?我想我需要检查变量指向的对象的内存地址,对吧?
最佳答案
==
运算符测试两个表达式是否是指向同一对象的相同指针。 Cocoa 称这种关系为“相同”(例如,参见 NSArray 的 indexOfObjectIdenticalTo:
)。
要测试两个对象是否相等,您可以向其中一个发送 isEqual:
消息(或更具体的消息,例如 isEqualToString:
,如果它响应到一个),传递另一个对象。如果你真的只有一个对象(显然等于它本身)或者你有两个相等的对象,这将返回 YES
。在后一种情况下,==
将评估为 NO
。
关于iphone - 如何比较两个对象是否真的是同一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1319247/