错误:在'UIView *'类型的对象上找不到属性'frame'

时间:2013-06-04 19:47:57

标签: ios view lldb

我正在调试我的代码并尝试使用以下方法确定视图的大小:

p view.frame.size.height

但是我收到了这个错误:

错误:在'UIView *'类型的对象上找不到属性'frame' 错误:解析表达式时出错1个

你们中的任何人都知道为什么或如何调试我的视图大小?

7 个答案:

答案 0 :(得分:71)

如果你每次都讨厌类型转换,你可以试试这个:

(lldb) expr @import UIKit
(lldb) po self.view.bounds

由于Xcode 7.2现已推出,我认为我们应该更新答案 我在这里找到答案,Why can't LLDB print view.bounds?

答案 1 :(得分:52)

试试这个

p (CGRect)[view frame]

获取视图框架的替代方法:

po view

答案 2 :(得分:5)

试试这个,

/landingpage/?ID=1779

答案 3 :(得分:3)

它应该在第一个答案中有外括号,如下所示:

p ((CGRect)[cell frame])

输出:

(CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44)

答案 4 :(得分:1)

添加pch文件,将以下代码行添加到文件中:

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif  

#endif /* PrefixHeader_pch */    

接下来,将pch文件链接到您的项目:

enter image description here

再次运行应用程序,然后您应该能够在lldb控制台中使用点符号:

(lldb) po self.view.bounds    

有关如何添加pch文件,请参阅此处的答案PCH File in Xcode 6

答案 5 :(得分:-1)

似乎我们不能在控制台中使用点表示法,尝试使用get方法。

答案 6 :(得分:-2)

我有同样的问题,我解决了它。您的类可能继承自&#34; UIViewController&#34;。它必须继承自&#34; UIView&#34;以便在其中制作一个框架对象。