Повторный счет считается одним после релиза - PullRequest
0 голосов
/ 28 февраля 2011

У меня есть контроллер вида, чьи представления загружаются из файла пера. Файл пера содержит главное представление, которое имеет представление прокрутки как его подпредставление. В методе viewDidLoad контроллера внутреннего представления счетчик сохранения представления прокрутки равен 2 (1 для того времени, когда оно было создано, и 1, потому что я его сохранил). Когда вызывается метод dealloc контроллера представления, я освобождаю представление прокрутки, но его счетчик сохранения уменьшается только до 1, что имеет смысл, поскольку в начале было 2.

Исходя из описанного выше сценария, мой вопрос: полностью ли освобождается представление прокрутки после возврата метода dealloc, поскольку именно тогда основное представление освобождается, форсируя все его подпредставления (такие как представление прокрутки), быть удаленным / выпущенным? Или этот релиз происходит в другой момент времени?

Спасибо!

РЕДАКТИРОВАТЬ: Если после того, как я отпущу представление прокрутки, я установлю его на ноль (в то время как количество сохранений все еще равно 1), будет ли когда-нибудь полностью высвобождаться это представление прокрутки?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

Да, когда вы звоните [super dealloc] в конце.

0 голосов
/ 28 февраля 2011

Он сохраняется суперпредставлением, в котором он находится, когда это суперпредставление исчезнет, ​​оно получит еще один релиз (и, таким образом, dellloc'd, если счет сохранения сбрасывается до нуля)Если вам интересно, вы можете создать подкласс UIScrollView и поместить NSLog или точку останова в функцию dealloc, чтобы быть уверенным.Или запустите прибор с утечками и посмотрите, не появляется ли он как утечка.

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