我需要在NSOrderedSet
对象中存储一堆对象。
不幸的是,我不希望该集合对除了对象指针本身以外的任何东西执行任何类型的相等性检查。
似乎某些对象(例如NSNumber
)覆盖isEqual:
并执行内部值比较,这意味着两个NSNumber
实例具有相同的值(但不同的对象指针)不能存储在同一个有序集中。
如何解决此问题?
我想到我可以将对象指针本身存储为NSValue
或NSString
对象(使用@"%p"
)。
但是,这意味着我需要将所有调用包装到containsObject:
和indexOfObject:
,并在每次要查询集合时创建一个新的NSValue
或NSString
对象。
有没有更好的方法来解决这个问题?