【问题标题】:error: property 'frame' not found on object of type 'UIView *'错误:在“UIView *”类型的对象上找不到属性“框架”
【发布时间】:2013-05-31 08:17:07
【问题描述】:

我正在调试我的代码并试图用这个来计算视图的大小:

p view.frame.size.height

但我收到此错误:

错误:在“UIView *”类型的对象上找不到属性“框架” error: 1 解析表达式错误

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

【问题讨论】:

  • 我认为你不能在控制台中使用这样的点符号,你可以试试这个,我认为它会起作用:[[[[self view] frame] size] height]
  • 我认为你可以使用 NSLog 代替 -- NSLog(@"Frame Height: %f", view.frame.size.height);

标签: ios view lldb


【解决方案1】:

试试这个

p (CGRect)[view frame]

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

po view

【讨论】:

  • 我收到此错误:错误:执行被中断,原因:EXC_BAD_ACCESS(代码=2,地址=0x65)。进程已恢复到执行前的状态。
  • 我得到了 EXC_BAD_ACCESS,因为我在错误的对象上调用了框架。而不是:p (CGRect)[myviewcontroller frame] 应该是 p (CGRect)[[myviewcontroller view] frame]
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    第一个答案应该有外括号,像这样:

    p ((CGRect)[cell frame])
    

    输出:

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

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

        添加一个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文件,请看这里PCH File in Xcode 6的答案

        【讨论】:

          【解决方案6】:

          试试这个,

          po view.layer.frame.size.height
          

          【讨论】:

          • 这对我有用,谢谢。让我觉得 view.frame 只是 LLDB 无法访问的 view.layer.frame 的快捷方式......
          【解决方案7】:

          在控制台中好像不能使用点符号,尝试使用get方法。

          【讨论】:

          • 这在我的情况下有效,试图获得 [self traitCollection];点符号失败并出现错误,“在 'UIView *' 类型的对象上找不到属性 'traitCollection'”,但使用 [self traitCollection] 有效!
          猜你喜欢
          • 1970-01-01
          • 2016-10-24
          • 2020-07-31
          • 2016-05-11
          • 2012-12-10
          • 2013-11-24
          • 1970-01-01
          • 1970-01-01
          • 2014-04-27
          相关资源
          最近更新 更多