观察上述状况,上述就是著名的循环引用问题,对于此类问题,“你包含我,我包含你”,里面相关的对象占用的内存永远回收不了,解决办法很简单,与常规方法不一样。正常状况下,咱们应在Person.h文件中加上:@property (nonatomic, retain) Card *card;,在Card.h文件中加上@property (nonatomic, retain) Person *person;。为了解决这个循环引用问题,咱们应把其中一个retain改为assign,另外一个不变便可。好比把Card.h中的改成:@property (nonatomic, assign) Person*person;atom
这样就能够解决循环引用的问题了。spa
综上,两端循环retain引用解决方案:对象
一端用retain,一端用assign内存
版权声明:本文为博主原创文章,未经博主容许不得转载。循环