NON-ARC 中如何处理保留周期!
我知道分配是弱的替代品。
如果分配的对象被解除分配而分配没有
那么之前是如何完成的,任何人都可以帮助我理解
NON-ARC 中如何处理保留周期!
我知道分配是弱的替代品。
如果分配的对象被解除分配而分配没有
那么之前是如何完成的,任何人都可以帮助我理解
清零弱引用(ARC 所称weak
的)仅存在于 ARC 下。
非归零弱引用(ARC 所称unsafe_unretained
的)可以在 MRC 或 ARC 中使用,并且是唯一一种在 MRC 中使用的“弱引用”。
您在问如何避免使用非归零弱引用的悬空引用。你只需要设计程序的逻辑,这样它就不会发生。这并不难。
通常,“父”对象将具有对“子”对象的强引用,然后从“子”对象到“父”的反向引用将是弱引用(在这种情况下是非归零弱引用) . 您所要做的就是,当“父”对象被释放时,在其反初始化器中, nil
“子”对象对它的反向引用——它可以访问这些“子”对象,因为它具有对他们。