好释放被管理对象,请与我的我的情况描述承担:在Objective-C
我有一个核心数据模型(以简化说明)包括GridManager对象。 GridManager拥有一组Grid对象(通过对多关系)。 Grid对象包含一组Cell对象(通过多对多关系)。在我的应用程序中,我有一个包含一系列子视图(CellView类型)的GridView。 GridView具有一个representationGrid属性,CellView具有一个representCell属性(都是非原子的,保留)。在GridView的setRepresentedGrid方法中,我将每个CellView(GridView的子视图)的RepresentCell属性设置为representationGrid中的一个单元格。
现在,我有两个问题:
首先,由于细胞和电网的管理对象,我还需要释放GridView和CellView类的representedGrid和representedCell属性时,他们dealoc?我想我会这样做(就像任何保留的属性一样),但是在某一时刻,我认为这导致了我的应用程序出现问题 - 嗯...只是想,因为我写了自己的setters,而且我实际上并没有保留网格/单元格,也许我不需要释放它们?
其次,一次只有一个来自gridManager的网格处于活动状态。当我将gridView.representedGrid从一个网格切换到另一个网格时,如何“释放”第一个网格(及其关联单元),以便它不会不必要地占用内存(因为我们正在讨论管理对象)。
非常感谢!
你为什么要写自定义的getter和setter? – 2010-01-07 03:27:00
请参阅下面的评论 - 我希望视图在设置了其代表的设置功能时处理某些设置功能 - 我认为需要为某个属性定制设置程序的标准原因。 – FTLPhysicsGuy 2010-01-07 05:19:15