为什么这不适用于XCode调试窗口"po [myNsDateComponent weekday]"

Gre*_*reg 3 iphone xcode gdb xcode4

为什么这不适用于XCode调试窗口"po [myNsDateComponent weekday]"?

具体例子:

(gdb) po weEndDayTime
<NSDateComponents: 0x4f241d0>

(gdb) po [weEndDayTime weekday]
0x2 does not appear to point to a valid object.
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 7

所述-weekday的方法NSDateComponents返回的int.但po不适用于原始值类型,只适用于指针类型.

在这种情况下,它将该方法的整数输出转换0x2为指针,并查找指针地址为的对象0x2.它找不到任何东西,所以它给出了这个信息.

使用p替代,且在必要时适当的类型转换:

(gdb) p (int) [weEndDayTime weekday]
$1 = 2
Run Code Online (Sandbox Code Playgroud)