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