【发布时间】:2011-09-14 13:52:48
【问题描述】:
我想要一个列表或集合,其中可能包含两个具有相同整数值的 NSNumber,但似乎内存已优化,因此它们是同一个对象。
例如
NSNumber* n1=[NSNumber numberWithInt:10];
NSNumber* n2=[NSNumber numberWithInt:10];
那么 n1==n2;
有没有办法让 n1!=n2 ?
【问题讨论】:
-
你为什么要这个?换句话说:你有什么问题需要解决?
-
我支持 DarkDust。在将它们添加到 NSArray 或 NSSet 时,n1==n2 没有区别;在这两种情况下它都会做“正确”的事情。
-
@Stephen 这是正确的吗?难道 NSArray 没有一个规则,如果一个对象已经存在于数组中(或者另一个对 isEqual 响应 YES 的对象),它就什么都不做?
-
@Javier 我认为没有这样的规则。我没有测试过,但是不允许重复的 NSArray 不会和 NSSet 一样吗?
标签: objective-c cocoa