【问题标题】:How to find attribute value in debugger?如何在调试器中查找属性值?
【发布时间】:2011-02-15 05:56:49
【问题描述】:

我有一个按钮,想在单步执行代码时了解它的启用状态。这在调试器中不起作用:

po self.myButton.enabled

打印出来:

There is no member named enabled.

还有其他方法可以打印出它的状态吗?

【问题讨论】:

    标签: iphone cocoa-touch xcode uibutton


    【解决方案1】:

    gdb 不知道属性的点语法,但它会评估方法调用。 -[UIButton enabled] 返回一个 BOOL,它是一个标量类型,而不是一个对象,所以你应该使用带有类型转换的 p,像这样:

    p (BOOL)[[self myButton] enabled]
    

    如果您要检查的属性是一个对象,您可以使用 po 而不进行类型转换,如下所示:

    po [[self myButton] font]
    

    【讨论】:

    • 我不断收到相同的消息:Target 没有响应此消息选择器。
    • 啊哈。 UIControl 文档将启用的属性声明为“@property(nonatomic, getter=isEnabled) BOOL enabled”。它不使用默认的 getter 方法。所以试试“p (BOOL)[[self myButton] isEnabled]”。
    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    相关资源
    最近更新 更多