【读书笔记】iOS-ARC-循环引用-解决办法

时间:2023-03-10 06:25:15
【读书笔记】iOS-ARC-循环引用-解决办法

一,循环引用最常见的代码类型。

【读书笔记】iOS-ARC-循环引用-解决办法
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. NSMutableArray *firstArray=[[NSMutableArray alloc]init];
NSMutableArray *secondArray=[[NSMutableArray alloc]init];
[firstArray addObject:secondArray];
[secondArray addObject:firstArray]; }
【读书笔记】iOS-ARC-循环引用-解决办法

二,循环引用的解决办法。

1,程序员手动断开一个环,停止循环引用。

2,弱引用。因为弱引用持有对象,但不增加引用计数。可以避免循环引用的产生。

三,弱引用避免循环引用的常见例子。

有两个ViewController,这两个ViewController之间需要互相传数据。这时候,ViewController的delegate成员变量通常是一个弱引用。目的是为了避免两个ViewController之间循环引用。

参考资料:《iOS开发时阶》 -唐巧