вид исчезнет не стрельба - PullRequest
2 голосов
/ 02 сентября 2011

Я использую метод addSubView для добавления просмотров.Были ли альтернативные методы для viewWillDisappear?viewWillDisappear не стреляет.Я хочу освободить все выделенные объекты, когда текущий вид исчезнет.В настоящее время я использую метод dealloc для этого.Но метод dealloc стреляет не быстро.Так как я получаю изменения памяти, и иногда мое приложение может зависать само.Основная проблема с голосовыми файлами.

Ответы [ 3 ]

1 голос
/ 02 сентября 2011

addSubview / removeFromSuperview (эти методы связаны с представлениями, а не с контроллерами представления) не вызывает методы viewWillAppear / viewWillDisappear. Вы должны написать код объекта release в самой dealloc ().
removeFromSuperview должен вызывать dealloc ().

0 голосов
/ 02 сентября 2011

освобождает объекты в viewDidUnload / viewDidDisappear и устанавливает значение nil в dealloc

, это может сработать, но вы обязательно должны посмотреть, почему viewWillDisappear не вызывается.

0 голосов
/ 02 сентября 2011

Вы можете попробовать release объекты в методе viewDidDisappear.Тогда вы не будете ждать запуска метода dealloc.

Также в методе viewDidDisappear вы можете попытаться удалить все подпредставления из суперпредставления (которое вызовет viewWillDisappear для всех подпредставлений):

NSArray *subviews = [self.view subviews];
for (UIView *view in subviews)
    [view removeFromSuperview];
...