отклонение представления UIViewController и освобождение памяти - PullRequest
0 голосов
/ 24 января 2012

Итак, у меня есть UIViewController, который я представляю, его представление через делегата, код:

[self.delegate fullStrViewController: self addFullScreenSubview:fullSize];

, где fullSize - это UIViewController, который я представляю.Внутри fullSize у меня есть метод dimiss, который в основном удаляет вид из суперпредставления.Вопрос в том, где я могу назвать релиз на fullSize?Если я сделал это после вызова вышеупомянутого делегата, то при вызове dismiss это вызовет ошибку, поскольку UIViewController был освобожден.Есть мысли?

Ответы [ 2 ]

0 голосов
/ 24 января 2012
Подкласс

a UIView сохраняет представление при его вставке в иерархию представлений.Он будет уравновешивать сохраняемые данные, освобождая его, когда ваше представление удаляет себя из иерархии.

Если у вас нет других ссылок на ваш объект в этот момент, он будет освобожден.

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

0 голосов
/ 24 января 2012

Любой подкласс UIView всегда сохраняет свои подпредставления.Поэтому можно безопасно вызывать release на UIView после добавления его как subview к другому UIView.Тем не менее, родитель будет вызывать release на дочернем элементе при отправке dealloc, поэтому предполагается, что вы хотите, чтобы дочерний элемент сохранялся в течение жизни родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...