【发布时间】:2012-09-13 09:47:26
【问题描述】:
假设我有一个名为Person 的对象,它具有socialSecurityNumber 属性,并且此类重写isEqual: 方法以在社会安全号码属性相等时返回true。假设我将一堆Person 实例放入NSDictionary。
如果我现在实例化一个 newPerson 对象,它恰好具有与字典中已有的相同的社会安全号码,并且我执行 [myDictionary objectForKey:newPerson],它会使用 isEqual: 并返回 YES,还是会比较指针并返回 NO?
我知道我可以编写一个简单的测试来找出答案,但我想了解 objectForKey: 究竟如何在字典中找到匹配项,以及这在 Cocoa 中的一致性如何(即 NSArray 的 @987654331 @工作一样吗?)
【问题讨论】:
标签: objective-c cocoa-touch cocoa foundation