Вы должны заботиться о них! В настоящее время я отслеживаю такие утечки. Есть несколько возможностей, почему они могут происходить:
1) Разработка UIView в Интерфейсном Разработчике и инициализация этого представления в UIViewController (для анимации и скрытия / отображения проблем):
Возможно, вы определили некоторые IBOutlets (в вашем .h файле), которые вы могли подключить в Интерфейсном Разработчике к Владельцу файла. Этот IBOutlets должен (насколько я знаю) всегда проектироваться как свойство (пожалуйста, не стесняйтесь исправлять меня, если я ошибаюсь), и в методе dealloc не забывайте обнулять его.
например:
В заголовочном файле viewcontroller (я назвал его MyViewController.h)
@ interface MyViewController: UIViewController {
IBOutlet UIWebView * webView;
}
@ свойство (неатомное, сохраняемое) IBOutlet UIWebView * webView;
@ конец
И в .m файле viewController:
@ осуществление
@ synthesize webView;
self.webView = nil; // никогда этого не забуду, иначе будет течь
[super dealloc];
}
@ end
2) Проектирование UIView в Интерфейсном Разработчике и подкласс этого Представления:
Под подклассами я подразумеваю, что вы можете создать подклассный класс UIView, а в Интерфейсном Разработчике вы устанавливаете идентификатор класса, например, MyView
например:
@ interface MyView: UIView {
IBOutlet UIWebView * webView;
}
@ свойство (неатомное, сохраняемое) IBOutlet UIWebView * webView;
@ конец
То же, что 1) (IBOutlets должны быть равны нулю при освобождении)
3) Добавление UIView в качестве подпредставления:
Никогда не забывайте удалять это представление.
Например: (в моем MyViewController я хочу добавить подпредставление)
UIView * aSubView = [[UIView alloc] initWithFrame: CGRectMake (0,0, 90, 90)];
aSubView.tag = 123;
aSubView.backgroundColor = [UIColor blueColor];
[self.view addSubView: aSubView];
[выпуск aSubView];
}
И
[[self.view viewWithTag: 123] removeFromSuperview]; // удаляем только aSubView
для (UIView * подвид в [self.view subwiews]) {// или удалить любые подвиды
[subview removeFromSuperview];
}
}
Надеюсь, это поможет!
Br Nic