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

我正在debugging我的代码,并试图找出使用这个视图的大小:

p view.frame.size.height 

但我得到这个错误:

错误:在“UIView *”types的对象上未find属性“框架”错误:1parsingexpression式的错误

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

尝试这个

 p (CGRect)[view frame] 

替代获得视图的框架:

 po view 

如果你讨厌每次都进行types转换,你可以试试这个:

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

由于Xcode7.2现在可用,我认为我们应该更新答案。
我在这里find答案, 为什么LLDB不能打印view.bounds?

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

 p ((CGRect)[cell frame]) 

输出:

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

尝试这个,

 po view.layer.frame.size.height 

添加一个pch文件,将这些代码行添加到文件中:

 #ifndef PrefixHeader_pch #define PrefixHeader_pch #ifdef __OBJC__ #import <UIKit/UIKit.h> #endif #endif /* PrefixHeader_pch */ 

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

在这里输入图像说明

再次运行应用程序,那么你应该可以在lldb控制台中使用点符号:

 (lldb) po self.view.bounds 

关于如何添加pch文件,请参阅这里的答案在Xcode 6中的PCH文件

看来我们不能在控制台中使用点符号,尝试使用get方法。

我有同样的问题,我解决了它。 你的类可以从“UIViewController”inheritance。 它必须从“UIView”inheritance,以便在其中创build一个框架对象。