Несколько контроллеров представления в одном контроллере представления

Я использую контроллер представления, в котором есть несколько контейнеров, и каждый контейнер имеет свой собственный контроллер представления.

Я хочу знать, если [topMostViewController removeFromParentViewController]

также удалит всех своих дочерних элементов, чтобы у меня не было утечек памяти, или до того, как это произойдет, мне также нужно вызвать removeFromParentViewController для всех дочерних элементов, которые у него есть?


person Lena Bru    schedule 23.03.2014    source источник
comment
Если вы используете ARC, вам не нужно беспокоиться об этом... использует ли ваше приложение ARC или MRC (управление памятью вручную?)   -  person lxt    schedule 23.03.2014
comment
ARC (некоторый длинный текст для выполнения требования к минимальному сообщению, даже если достаточно 3 букв)   -  person Lena Bru    schedule 23.03.2014
comment
так вы говорите, что самый верхний контроллер представления будет вызывать viewDidDisappear для всех своих дочерних элементов?   -  person Lena Bru    schedule 23.03.2014


Ответы (1)


removeFromParentViewController удаляет дочерний элемент от его родителя. Любые дети ребенка останутся связанными с ребенком. Если вы правильно настроили отношения, все ваши дочерние элементы будут вызываться viewWillDisappear и т. д. (если вы настроили отношения).

Но поскольку вы используете ARC, вам не нужно беспокоиться об утечках памяти, потому что компилятор позаботится об этом за вас.

person lxt    schedule 23.03.2014
comment
утечки памяти -> индикатор активности пользовательского интерфейса, который не был отключен, анимация пользовательского интерфейса, которая не была отключена и т. д., они тоже исчезнут? - person Lena Bru; 23.03.2014