[英]assign in NON-ARC and retain cycle
在非弧中如何处理保留循环!
我知道分配是弱的替代品。
如果分配的对象被解除分配而分配没有,则弱将其值设置为 nil
所以之前是怎么做的,谁能帮我理解
归零弱引用(ARC 称为weak
)仅存在于 ARC 下。
unsafe_unretained
弱引用(ARC 称为unsafe_unretained
)可用于 MRC 或 ARC,并且是 MRC 中使用的唯一一种“弱引用”。
您在问如何避免使用非零弱引用悬空引用。 您只需要设计程序的逻辑,使其不会发生。 这并不难。
通常,“父”对象将对“子”对象具有强引用,然后从“子”对象到“父”的反向引用将是弱引用(在这种情况下为非零弱引用) . 所有你需要做的是,当“父母”的对象被释放,在其deinitializer, nil
出反向引用的“孩子”对象有它-它可以访问这些“孩子”对象,因为它有一个参考给他们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.