xcode调试器的表达式值

tes*_*dtv 0 xcode objective-c

在XCode中,我在某些行插入一个断点.

说那条线是:

abc = [books valueForKey:@"OfficialName"];
x = [appDelegate.books count];
Run Code Online (Sandbox Code Playgroud)

我的问题是在调试器中,如果我将鼠标悬停在abc上,它将显示该值

但是如果我想看一个表达式的运行时值 "appDelegate.books count"

它没有显示价值.如何将此表达式的值像普通var一样?

Dmi*_*lov 5

您可以使用调试器控制台确定变量值:

print (int) [arr count]
Run Code Online (Sandbox Code Playgroud)

或使用命令po打印对象的描述

po objectName
Run Code Online (Sandbox Code Playgroud)

  • 是的,还要注意gdb无法识别对象的属性getter:如果需要打印`object`的`property`,你需要为对象类型属性和`p(t​​ype)调用`po [object property]` [object property]`用于非对象属性. (2认同)