OC之非ARC环境下循环retain问题
生活随笔
收集整理的這篇文章主要介紹了
OC之非ARC环境下循环retain问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
觀察上述情況,上述就是著名的循環(huán)引用問(wèn)題,對(duì)于此類(lèi)問(wèn)題,“你包含我,我包含你”,里面相關(guān)的對(duì)象占用的內(nèi)存永遠(yuǎn)回收不了,解決辦法很簡(jiǎn)單,與常規(guī)方法不同。正常情況下,我們應(yīng)在Person.h文件中加上:@property (nonatomic, retain) Card *card;,在Card.h文件中加上@property (nonatomic, retain) Person *person;。為了解決這個(gè)循環(huán)引用問(wèn)題,我們應(yīng)把其中一個(gè)retain改成assign,另一個(gè)不變即可。比如把Card.h中的改為:@property (nonatomic, assign) Person*person;
這樣就可以解決循環(huán)引用的問(wèn)題了。
綜上,兩端循環(huán)retain引用解決方案:
一端用retain,一端用assign
總結(jié)
以上是生活随笔為你收集整理的OC之非ARC环境下循环retain问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java配置JDK
- 下一篇: 数据结构笔记--栈的总结及java数组实