Ладно, пожалуйста, медведь с моим описанием моей ситуации:Высвобождение управляемых объектов в Objective-C
У меня есть модель Core Data, что (в упрощенном описании) включает в себя объект GridManager. GridManager содержит набор объектов Grid (через отношение to-many). Объект Grid содержит набор объектов Cell (через отношение to-many).
В моем приложении у меня есть GridView, который содержит серию под-представлений (типа CellView). GridView обладает свойством представленнымGrid, и CellView имеет свойство представленное Cell (как неатомное, так и сохраняемое). В методе setRepresentedGrid GridView я задал свойство представленное свойство CellView (subviews GridView) для одной из ячеек в представленномGrid.
сейчас, у меня есть два вопроса:
Во-первых, так как клетки и сетки являются управляемыми объектами, мне еще нужно освободить свойства representedGrid и representedCell из GridView и CellView классов, когда они dealoc? Я полагаю, что я это делаю (как и с любым сохраненным свойством), но в какой-то момент я думал, что это вызывает проблему с моим приложением - хм ... просто подумал, так как я пишу свои собственные сеттеры, и я фактически не сохраняю сетка/ячейка, возможно, мне НЕ нужно их выпускать?
Во-вторых, только одна сетка из gridManager активна одновременно. Когда я переключаю gridView.representedGrid из одной сетки в другую, как мне «освободить» первую сетку (и связанные с ней ячейки), чтобы она не занималась ненужной памятью (учитывая, что мы говорим об управляемых объектах).
Большое спасибо!
Почему вы пишете пользовательские геттеры и сеттеры? –
См. Комментарии ниже. Я хочу, чтобы представление позаботилось о некоторых функциях настройки, когда установлен его представленный массив. Я считаю, что это стандартная причина для желания настроить установщик для свойства. – FTLPhysicsGuy