1
为什么NSNumber的0不能转换为正确的NSInteger/NSUInteger值?NSNumber与0转换为NSInteger/NSUInteger变为零
NSUInteger a = [@0 unsignedIntegerValue]; // a become nil
为什么在代码零的上面的行a
。它不应该等于0
吗?
在控制台:
(lldb) po [@0 intValue]
0
(lldb) po [@0 integerValue]
<nil>
(lldb) po [@0 unsignedIntegerValue]
<nil>
更新:
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) $0 = 0
感谢您的答复。清除自己,我将'@ 0'分配给一个NSUInteger变量,并且它变成了'nil'。有没有建议不要使用NSInteger/NSUInteger? – Alston
[@ 0 integerValue]不是一个对象。你应该使用p值而不是po对象 – dusty