使用ARC,我有一个以下形式的声明属性:
@property (nonatomic, strong) MyClass * instanceName;
我在三个地方设置了这个属性 - 我在所有三个地方添加了断点。
我在很多地方引用了这个属性。
当我单步执行代码时,属性会被设置,并且调用属性的其他两个位置都不会被调用。 (正如预期的那样)。
但是,在某些时候,此属性的值变为零。
我已经在我的类中添加了一个dealloc方法,带有一个NSLog和一个断点 - 但它永远不会被调用(所以它不像是被视为归零弱引用)。
令我感到困惑的是,为什么我的“强势”财产在没有让我这样做的情况下会变成零。
任何建议都将不胜感激。
由于
答案 0 :(得分:9)
简单的答案是 导致它这样做。你根本就不知道如何。
在访问ivar之后的某个时刻,它应该出现在调试窗口中,前面有一个“i”。右键单击它并选择“Watch ...”每次修改内存时都会得到一个断点。