gpt4 book ai didi

objective-c - 是否可以有 2 个不同的 NSNumber 对象具有相同的值?

转载 作者:行者123 更新时间:2023-12-03 16:29:34 26 4
gpt4 key购买 nike

我想要一个列表或集合,其中可能包含两个具有相同整数值的 NSNumber,但似乎内存已优化,因此它们是相同的对象。
例如

NSNumber* n1=[NSNumber numberWithInt:10];
NSNumber* n2=[NSNumber numberWithInt:10];

然后n1==n2;

有没有办法解决这个问题,让 n1!=n2 ?

最佳答案

不是真的。 Cocoa 保留小数字的缓存(IIRC 那些表示从 0 到 12 的整数),以及 tagged pointers也将防止这种情况发生。

如果您确实需要,一种选择是创建一个包含 NSNumber 实例的类。通过这种方式,您可以保证您的类的不同实例将具有不同的地址。

关于objective-c - 是否可以有 2 个不同的 NSNumber 对象具有相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com