xcode7 调试器发生了什么变化,我无法再使用 "po" / Swift 查看变量

What changed in xcode7 debugger that I can no longer view variables with "po" / Swift

好的 xCode7 / Swift 中发生了什么变化,我无法再使用 "po frame" 查看 CGRect 的内容?打印语句在代码中工作得很好。为什么我不能像以前那样在调试器控制台中查看它?

var frame = self.myLabel.frame

frame.origin.x = self.startingFrame.origin.x + translation.x
frame.origin.y = self.startingFrame.origin.y + translation.y

print(frame)

self.myLabel.frame = frame

然而在调试器中,如果我中断 self.myLabel.frame = frame 语句并在调试器中使用 po(或 p 或 print),我得到:

(164.0, 323.0, 41.6666666666667, 20.3333333333333)
(lldb) po frame
error: <EXPR>:1:1: error: use of unresolved identifier 'frame'
frame
^~~~~
(lldb) p frame
error: <EXPR>:1:1: error: use of unresolved identifier 'frame'
frame
^~~~~
(lldb) print frame
error: <EXPR>:1:1: error: use of unresolved identifier 'frame'
frame
^~~~~
(lldb) 

这是 Xcode 7.1 中的错误。目前7.2测试版已经修复,最终会修复。错误是从 C/ObjC 模块导入到 Swift 的结构类型对调试器不可用(反过来它不会报告类型不可用的变量。)

我仍然在 Xcode 7.2(使用 ObjC)中看到这个。调试布局代码非常令人沮丧。

调试器不会将框架显示为视图的 ivar,类型摘要也不会打印它。 您必须 'po foo.frame' 才能看到它。