您的位置:首页 > 大数据 > 人工智能

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

2015-08-31 15:06 344 查看


观察上述情况,上述就是著名的循环引用问题,对于此类问题,“你包含我,我包含你”,里面相关的对象占用的内存永远回收不了,解决办法很简单,与常规方法不同。正常情况下,我们应在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息