簡體   English   中英

奇怪的 NSNumber 分配表達式

[英]Weird NSNumber allocation expression

考慮以下NSNumber實例:

NSNumber *b1 = @((long)(-61));
NSNumber *b2 = @((long)(-62));

NSLog(@"%@", b1);
NSLog(@"%@", b2);

“調試區域”中的“變量視圖”顯示了奇怪的值:

在此處輸入圖像描述

有人對此調試器信息有任何想法嗎?

0xffffffffffffffc3-61的十六進制表示。
0x00ffffffffffffc372057594037927875的十六進制表示。

“調試區域”中的“變量視圖”在正確表示NSNumber的負long值時存在問題。

在此處輸入圖像描述

具有諷刺意味的是,如果您使用unsigned long作為NSNumber的基礎值(參見上面屏幕快照中的value4 / b4 ),變量視圖現在將顯示為-61

但是,這只是“變量視圖”中NSNumber實例顯示的一個錯誤。 實際的NSNumber值很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM