Ios 如何在断点处查看Xcode中对象属性的值
我有一个包含所有对象的父节点:Ios 如何在断点处查看Xcode中对象属性的值,ios,xcode,debugging,Ios,Xcode,Debugging,我有一个包含所有对象的父节点: SKNode* _moving; _moving = [SKNode node]; [self addChild:_moving]; ... [_moving addChild:spritenodetexture]; 现在我想检查“\u moving”的速度值,即“\u moving.speed”; 因此,我在条件线处设置了一个断点: if (_moving.speed > 0) { 我怎么知道在那一点上“_moving.speed”的值?查看调试窗口,
SKNode* _moving;
_moving = [SKNode node];
[self addChild:_moving];
...
[_moving addChild:spritenodetexture];
现在我想检查“\u moving”的速度值,即“\u moving.speed”;
因此,我在条件线处设置了一个断点:
if (_moving.speed > 0) {
我怎么知道在那一点上“_moving.speed”的值?查看调试窗口,我只看到地址、职位等,但没有任何价值!Xcode调试是否有工具可以看到它,但我不知道?
(我在Xcode中使用SpriteKit)Xcode使用的现代版本 在断点期间检查作用域变量的最简单方法是使用调试区域内的“变量视图:视图>调试区域>显示调试区域”,然后单击“显示变量视图”按钮(即右下角倒数第二个图标)。然后,您可以在范围中浏览变量树 或者(尽管我个人取得了各种各样的成功),您只需将鼠标光标悬停在有问题的变量上,Xcode就会弹出一个带有一些选项的工具提示 您还可以从控制台本身发出LLDB命令。要打印变量,请执行以下命令:
print [_moving speed]
.调试时,只需在文本编辑器中快速单击,就会显示一个弹出窗口。我单击,双击,没有显示任何值。如果不单击,只需将鼠标指针放在变量上即可。Xcode调试数据显示有很多错误。使用控制台。假设
speed
是标量而不是对象,在控制台中键入p[\u移动速度]
。(有时它会让你输入p\u moving.speed
,有时会让你感到困惑。)如果你想打印一个对象,请使用po
,而不是p
。请注意,在分配对象之前,在任何视图中你都不能访问\u moving
。很抱歉,我按照你的指示进行操作,但我想不出你提到的图标是什么。打印命令看起来无法识别:“使用未声明的标识符“print”“@user1314404我已经用一个示例图像更新了我的答案,该示例图像显示了变量视图(即左侧白色窗格)、切换所述面板的图标和一个打印命令的示例。现在我明白你的意思了!是的,可以在那里输入命令,但在我的例子中,它不需要方括号就可以工作!还有一件事,输入“p”显示结果:(CGFloat)$2=1。如果我使用“print”,结果是:(CGFloat)$0=1。相同的值,但我不知道为什么$0和$2?p
只是print
的简写别名<代码>$0..$9
是永久变量,为了方便起见,它们只存储命令的结果。