可变数组中的 NSNumber=0
如果我将等于 0 的 NSNumber
存储在 NSMutableArray
中,它会被解释为 nil
并导致 count 方法出现问题吗?
If I store an NSNumber
that is equal to 0 in an NSMutableArray
will that be interpreted as nil
and cause issues with the count method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它将增加数组的计数。
[NSNumber numberWithInt:0]
是一个对象并且不为零。
此外,如果 anObject 为 nil,则不能将 nil 添加到数组中,
并且会引发 NSInvalidArgumentException。
It will increment the count of the array.
[NSNumber numberWithInt:0]
is an object and is not nil.
Furthermore, you cannot add nil to an array
raises an NSInvalidArgumentException if anObject is nil.
不,您必须区分对象 ID 本身和内容。设置为 0 的 NSNumber 内容很可能为零,但该对象的 id 实际上是真实地址。
例如,对象 ID
0x2222
在内存中可能如下所示(非常简化):您可以看到对象 ID 不是零,而是一个真实值。对象的内容为零,但这与对象 ID 无关。
可变数组中的内容是对象的 id 值,而不是这些对象的内容。
No, you have to differentiate between the object id itself and the contents. The contents of an
NSNumber
set to 0 may well be zero but the id for said object is actually a real address.For example, the object id
0x2222
may look like this in memory (very simplified):You can see the the object id is not zero but a real value. The contents of the object are zero but that's not relevant to the object id.
The things that goes in the mutable array are the id values for objects, not the contents of those objects.