Swift 3和lldb:UIView的打印帧,给定十六进制地址

时间:2016-12-13 23:45:40

标签: ios swift uiview lldb

调试iOS目标,Swift 3,Xcode 8.2,lldb-360.1.68

我想打印一个UIView的frame,它的地址是我在之前的断点处抓取的。这是我最好的投篮,以及令人失望的结果:

(lldb) expr -l objc -O -- NSStringFromRect((CGRect)([(UIView*)0x7a241b30 frame]))
error: use of undeclared identifier 'CGRect'

谢谢!

2 个答案:

答案 0 :(得分:5)

如果您在swift调试器中,可以使用unsafeBitCast将指针转换为类型。

20:00:00

答案 1 :(得分:1)

我找到了一种答案 - 更准确地说,是无需工作的您无需打印framebounds,因为其值已包含在description中。在这种情况下,只需输入

(lldb) po (UIView*)0x7a241b30

framebounds的价值将出现在您将获得的数百行标准中。

我仍然会理解为什么CGRect未声明的标识符等的解释