我有一个数据结构,我试图用 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 将被释放。但是,我仍然希望这本书保持分配状态。
是否有任何替代方式可以存储此数据结构?
谢谢!