1

为什么 0 的 NSNumber 不能转换为正确的 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
4

1 回答 1

2

使用 p 而不是 po

(lldb) p [@0 integerValue]
(NSInteger) $1 = 0
(lldb) p [@0 intValue]
(int) $2 = 0
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) $3 = 0
于 2015-06-25T09:15:05.423 回答