什么会导致我(强烈)声明的财产在我背后变为零?

时间:2011-10-14 19:08:54

标签: objective-c automatic-ref-counting

使用ARC,我有一个以下形式的声明属性:

@property (nonatomic, strong) MyClass * instanceName;

我在三个地方设置了这个属性 - 我在所有三个地方添加了断点。

我在很多地方引用了这个属性。

当我单步执行代码时,属性会被设置,并且调用属性的其他两个位置都不会被调用。 (正如预期的那样)。

但是,在某些时候,此属性的值变为零。

我已经在我的类中添加了一个dealloc方法,带有一个NSLog和一个断点 - 但它永远不会被调用(所以它不像是被视为归零弱引用)。

令我感到困惑的是,为什么我的“强势”财产在没有让我这样做的情况下会变成零。

任何建议都将不胜感激。

由于

1 个答案:

答案 0 :(得分:9)

简单的答案是 导致它这样做。你根本就不知道如何。

在访问ivar之后的某个时刻,它应该出现在调试窗口中,前面有一个“i”。右键单击它并选择“Watch ...”每次修改内存时都会得到一个断点。