代码之家  ›  专栏  ›  技术社区  ›  kubi

在没有支持变量的情况下,在Xcode调试器中查看合成属性的值

  •  10
  • kubi  · 技术社区  · 14 年前


    我需要澄清第二个问题。我不是问如何访问属性,或者它们做什么;这些我都知道。我以为你 不能够 使用基于的合成ivar时直接访问实例变量 this post . 很明显,我能做我以前认为不可能的事情。我想知道发生了什么事。

    3 回复  |  直到 7 年前
        1
  •  9
  •   Abizern    13 年前

    这在xcode3.1上运行,所以我不明白为什么它不能在以后的版本上运行

    您可以在调试时直接从控制台向对象发送消息。

    假设您已经在断点处停止,并且正在调试视图中查看变量。对于对象,它们显示指针。您可能看不到iVar,但您有指向对象的指针,可以向它发送消息。例如:

    • 您已在对象中的某个断点处停止
    • 变量视图显示 self 0x1031380 .
    • po [0x1031380 title] (注意没有分号)并输入

    (retain) 然后合成属性,您将创建保留传递给它们的对象/值的setter。因此,在上述情况下,您应该将该方法重写为:

    - (void)viewDidLoad {
        self.title = @"woah";
    }
    

    字符串将作为setter的一部分保留。另外,我更喜欢使用 (copy) 对于具有可变/不可变对的类集群( NSString , NSSet , NSArray

        2
  •  5
  •   Mark Ursino    12 年前

    po [myVar title]
    

    如果变量在范围内,xcode将帮助您键入变量名(上面的myVar)。

        3
  •  0
  •   qix    12 年前

    如果不想手动键入 po [blahblah] here ,您可以在标题中显式声明实例变量,或者“在调试变量区域中,右键单击‘self’并选择‘Add Expression’,然后输入例如‘\u wordLength’,将显示ivar。”

    推荐文章