Я новичок в разработке под iOS, но я знаком с основами управления памятью в Obj-C.Однако документы Apple о пользовательских UIViewControllers немного смутили меня.
Итак, у меня есть PagingController
, в котором хранится массив EntryViewController
объектов.(Все они UIViewControllers.) Эти объекты загружаются динамически и, конечно, освобождаются при необходимости.Представление в PagingController
создается в -loadView
и сохраняется в self.view
, как сказано в документации.
Всякий раз, когда я загружаю EntryViewController
(как ctrl
), я вызываю [self.view addSubview:ctrl.view];
.Мне также нужно вызвать ctrl.parent = self;
, поскольку целевая ОС - 3.0, и я не хочу изменять частную переменную (_parentViewController
).(parent
определяется как @property(assign) PagingController *parent;
)
Вот мои вопросы:
- Должен ли я сам выпустить
self.view
, или UIViewController позаботится об этом? - Нужно ли сохранять
parent
(собственность в EntryViewController
)?Я предполагаю, что это бессмысленно, поскольку все дочерние контроллеры представления освобождаются, когда родительский объект выгружается. - Нужно ли вызывать
[self.view removeFromSuperview]
в методе -dealloc
EntryViewController
?В документах сказано, что мне нужно управлять всеми подпредставлениями, поэтому я не уверен, будет ли это вызываться автоматически.
Или я просто запутался в том, как создать собственный контроллер представления в первомместо