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

时间:2015-10-19 13:30:21

标签: xcode debugging variables swift2 lldb

确定在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) 

2 个答案:

答案 0 :(得分:3)

这是Xcode 7.1中的一个错误。它固定在当前的7.2 beta版本中,并将在最终版本中修复。错误是从C / ObjC模块导入到Swift的Structs的类型不可用于调试器(反过来它不会报告其类型不可用的变量。)

答案 1 :(得分:0)

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

调试器不会将框架显示为视图的ivar,并且类型摘要不会打印出来。 你必须要在foo.frame&#39;看到它。