NSNumber with 0 convert to NSInteger/NSUInteger become nil
NSNumber with 0 convert to NSInteger/NSUInteger become nil
为什么 NSNumber of 0 无法转换为正确的 NSInteger/NSUInteger 值?
NSUInteger a = [@0 unsignedIntegerValue]; // a become nil
为什么上面那行代码中的a
是nil。不应该等于0
吗?
在控制台中:
(lldb) po [@0 intValue]
0
(lldb) po [@0 integerValue]
<nil>
(lldb) po [@0 unsignedIntegerValue]
<nil>
更新:
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) [=13=] = 0
使用 p 而不是 po
(lldb) p [@0 integerValue]
(NSInteger) = 0
(lldb) p [@0 intValue]
(int) = 0
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) = 0
为什么 NSNumber of 0 无法转换为正确的 NSInteger/NSUInteger 值?
NSUInteger a = [@0 unsignedIntegerValue]; // a become nil
为什么上面那行代码中的a
是nil。不应该等于0
吗?
在控制台中:
(lldb) po [@0 intValue]
0
(lldb) po [@0 integerValue]
<nil>
(lldb) po [@0 unsignedIntegerValue]
<nil>
更新:
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) [=13=] = 0
使用 p 而不是 po
(lldb) p [@0 integerValue]
(NSInteger) = 0
(lldb) p [@0 intValue]
(int) = 0
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) = 0