确定NSUInteger的值

4th*_*ace 0 iphone xcode cocoa-touch objective-c

我想在任何给定时间查看NSUInteger的值.我分配以下值:

NSUInteger test = -1;
Run Code Online (Sandbox Code Playgroud)

然后尝试在调试器中查看它:

(gdb) po test
Cannot access memory at address 0xffffffff
(gdb) p test
$1 = 4294967295
Current language:  auto; currently objective-c
Run Code Online (Sandbox Code Playgroud)

据我所知,这是一种价值类型.-1在哪里?

Mat*_*all 14

你使用的NSUInteger是未签名的.因此,分配的任何负值实际上将被解释为非常大的正值.

您想要使用NSInteger已签名的(因此可以是正值和负值).然后你应该能够(gdb) p test看到价值.