【问题标题】:iOS - What is happening with my instance variables?iOS - 我的实例变量发生了什么?
【发布时间】:2012-03-10 00:31:48
【问题描述】:

我有一个非常简单的类,在实现中我有以下代码:

@implementation MyProgram
{
    int myInt;
}

然后在一个单独的方法中我有这个:

- (void)myMethod
{
    myInt = 0;
}

我注意到这个 int 给我带来了问题,所以我在 myMethod 中调试并停止了它。当我将鼠标悬停在变量上时,它会告诉我以下信息:

int    $3    17893987392

显然,这些信息(我认为)应该是这样的:

int    myInt    0

奇怪的是,当我将鼠标重新悬停在变量上时,“名称”继续增加一:

int    $4    17893987392

有人可以解释发生了什么吗?我昨天升级到 Xcode 4.3.1,从那以后事情就变得奇怪了。

【问题讨论】:

  • 什么是“调试”?
  • 在 myMethod 的相关行添加断点,查看 myInt 在赋值为 0 之前和之后的值。
  • NSLog 你的 int 并返回它的值。这才是你应该关心的……
  • 你尝试清理你的项目了吗?这可能会有所帮助。 XCode 里面可能有一些中间的东西。此外,我发现在其中分散一些 NSLog 有时确实有助于解决此类奇怪的错误,不仅可以让您深入了解,而且它们还可能迫使编译器围绕故障点重新创建目标代码,从而清除问题。附:我删除了原来的答案,因为我意识到这不是你想要的。
  • 尝试在interace部分定义实例变量,而不是实现。

标签: ios debugging variables int


【解决方案1】:

这是 LLVM 调试器中的一个错误——将您的调试器更改为 GDB。请参阅UIViewController subclass can't assign instance variable 了解更多信息。

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    相关资源
    最近更新 更多