【问题标题】:What would cause my (strong) declared property to become nil behind my back?什么会导致我的(强大的)申报财产在我背后变为零?
【发布时间】:2011-10-14 19:08:53
【问题描述】:

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

@property (nonatomic, strong) MyClass * instanceName;

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

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

当我逐步执行我的代码时,该属性被设置,而其他两个设置该属性的位置都没有被调用。 (正如预期的那样)。

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

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

我很困惑,为什么我的“强”属性会在没有我造成的情况下变为 nil。

任何建议将不胜感激。

谢谢

【问题讨论】:

    标签: objective-c automatic-ref-counting


    【解决方案1】:

    简单的答案是您正在导致它这样做。你根本不知道怎么做。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多