确定在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)
答案 0 :(得分:3)
这是Xcode 7.1中的一个错误。它固定在当前的7.2 beta版本中,并将在最终版本中修复。错误是从C / ObjC模块导入到Swift的Structs的类型不可用于调试器(反过来它不会报告其类型不可用的变量。)
答案 1 :(得分:0)
我仍在Xcode 7.2中看到这一点(使用ObjC)。调试布局代码非常令人沮丧。
调试器不会将框架显示为视图的ivar,并且类型摘要不会打印出来。 你必须要在foo.frame&#39;看到它。