1

0 の NSNumber を正しい 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) $0 = 0
4

1 に答える 1

2

po ではなく p を使用する

(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 に答える