编写高质量代码的52个有效方法

52个有效方法(33) - 以弱引用避免保留环

2018-09-07  本文已影响8人  SkyMing一C

保留环也就是我们常说的循环引用。保留环通常会造成内存泄漏。

避免保留环的最佳方式就是弱引用。这种引用经常用来表示“非拥有关系”(nonowning relationship)。将属性声明为unsafe_unretained或weak。

unsafe_unretained与weak属性区别
要点
  1. 将某些引用设为weak,可避免出现保留环。父引用子 强引用(strong) 子引用父 弱引用(weak)。

  2. weak引用可以自动清空,也可以不自动清空。自动清空(autonilling)是随着ARC而引入的新特性,由运行期系统来实现。在具备自动清空功能的弱引用上,可以随意读取其数据,因为这种引用不会指向已经回收的对象。

上一篇 下一篇

猜你喜欢

热点阅读