Я пытался исправить утечку памяти в моем приложении и наткнулся на очень интересную вещь.Теперь я не уверен, есть ли какая-то ошибка, которую я где-то сделал, или просто неправильно использую технологию, поэтому я постараюсь прояснить ситуацию с вашей помощью.Вот что происходит:
- я создаю пользовательский контроллер uiview, который загружает его представление из nib-файла
- я освобождаю контроллер
- вызывается метод dealloc контроллера, где я выпускаюпользовательское представление, которое я специально добавил в иерархию представлений как выход (я сделал из него сохраняемое свойство).У него есть метод dealloc с вызовом nslog.
- основной вид в nib-файле (связан с выходом представления контроллера) также является подклассом uiview, который также имеет вызов nslog в свой dealloc
Проблема в том, что несмотря на то, что вызывается dealloc контроллера uiview, ни главный вид, ни дочерний элемент (тот, у которого есть выход) не освобождаются (их NSLogs не запускаются).
Это нормально, что это происходит?Может быть, iOS не выпускает взгляды сразу?Или я должен начать искать ошибки в коде?Если так - что может быть наиболее вероятными причинами?
Спасибо за чтение