iOS的LLDB的P命令不打印帧变量

msk*_*skw 8 xcode ios lldb

让我们说我想做一个

p uiTextFieldObj.frame
Run Code Online (Sandbox Code Playgroud)

它会说错误:属性

'frame' not found on object of type 'UITextField *'
Run Code Online (Sandbox Code Playgroud)

有什么技巧可以做,所以我可以这个展示吗?

rob*_*off 26

你可以这样做:

p (CGRect)[uiTextFieldObj frame]
Run Code Online (Sandbox Code Playgroud)

从Xcode 4.5.2开始,使用点语法在lldb中打印属性似乎只适用于应用程序中定义的对象的属性,而不适用于框架类定义的属性.


Gra*_*ROB 6

您可以通过执行[]表示法来打印它而不是.符号:

你试过这个吗?

print (CGRect)[textfieldObj frame]
Run Code Online (Sandbox Code Playgroud)

如果没有(CGRect)强制转换,它很可能会显示一个错误,表示它不知道返回类型.你也可以这样做:

po textfieldObj
Run Code Online (Sandbox Code Playgroud)

这将显示有关文本字段的框架和其他一些信息.po debug命令将调用objects -description方法,您可以覆盖该方法以提供您喜欢的任何信息.