Удаляет ли метод UIView removeFromSuperView удаление UIView из памяти - PullRequest
15 голосов
/ 14 января 2011

Удаляет ли метод UIView removeFromSuperView UIView из памяти? Я просто хочу быть уверен, что представление больше не использует память?

Ответы [ 2 ]

41 голосов
/ 14 января 2011

UIView сохраняет свои подпредставления, поэтому, когда вы вызываете метод -removeFromSuperview, тогда ваш объект представления освобождается.

Так что, если все остальное в порядке с управлением памятью, и ваше представление не сохраняется ничем другимтогда да - ваше представление должно быть освобождено и удалено из памяти.

Возможный пример, когда простого удаления представления из суперпредставления может быть недостаточно для освобождения, это может быть представление, которое имеет выходное соединение и объявило свойство для него с атрибутом retain -в этом случае он сохраняется контроллером при загрузке из файла пера, и вам может потребоваться освободить это представление для этого случая:

[iVarView removeFromSuperview];
self.iVarView = nil;
15 голосов
/ 14 января 2011

Да. После вызова метода removeFromSuperView это представление также освобождается из памяти.

Если вы хотите подтвердить документацию Apple, здесь является ссылкой.

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