OC之非ARC环境下循环retain问题

简介:

观察上述情况,上述就是著名的循环引用问题,对于此类问题,“你包含我,我包含你”,里面相关的对象占用的内存永远回收不了,解决办法很简单,与常规方法不同。正常情况下,我们应在Person.h文件中加上:@property (nonatomic, retain) Card *card;,在Card.h文件中加上@property (nonatomic, retain) Person *person;。为了解决这个循环引用问题,我们应把其中一个retain改成assign,另一个不变即可。比如把Card.h中的改为:@property (nonatomic, assign) Person*person;

这样就可以解决循环引用的问题了。

综上,两端循环retain引用解决方案:

一端用retain,一端用assign


目录
相关文章
|
安全 程序员
单例 ARC下以及MRC 一句代码搞定
单例 ARC下以及MRC 一句代码搞定
53 0
|
存储 编译器 API
OC底层知识(八) : block
OC底层知识(八) : block
128 0
OC底层知识(八) : block
SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme-
SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme-
SAP QM初阶执行事务代码QDB1,报错- Sampling procedure NM000001 has no sampling scheme-