NSNumber与0转换为NSInteger / NSUInteger变为零

时间:2015-06-25 09:11:47

标签: ios nsnumber 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

1 个答案:

答案 0 :(得分:2)

使用p not po

(lldb) p [@0 integerValue]
(NSInteger) $1 = 0
(lldb) p [@0 intValue]
(int) $2 = 0
(lldb) p [@0 unsignedIntegerValue]
(NSUInteger) $3 = 0