【发布时间】:2012-05-03 22:57:19
【问题描述】:
我有一个数据结构,我正在尝试使用 ARC 将 ios5 存储在目标 c 中。 数据结构类似于 -
Class - **Book**
@property (strong) NSArray *pages;
@property (strong) Page *startingPage;
Class - **Page**
@property (strong) Book *book;
@property (strong) Page *nextPage;
@property (strong) Page *previousPage;
可以想象的问题是内存泄漏。 这里有几个循环 -
Book -> pages -> page -> book
nextPage -> previousPage
Book -> startingPage -> book.
我不能使属性变弱,因为如果这样做,我将丢失指向该值的指针。 因此,假设我将 Page 中的 book 设为弱,那么当我尝试释放页面时,book 将被释放。但是,我仍然希望这本书保持分配状态。
有没有其他的方法可以存储这个数据结构?
谢谢!
【问题讨论】:
标签: ios5 data-structures memory-leaks linked-list automatic-ref-counting