Я пытаюсь понять, как раскрутить процесс перехода.
Вызывается ли метод Dealloc исходного контроллера представления, когда выполняется раскрутка перехода, как UINavigationController
процесс кнопки "Назад"?
Если нет, означает ли это утечку памяти?
Я пытаюсь понять, как раскрутить процесс перехода.
Вызывается ли метод Dealloc исходного контроллера представления, когда выполняется раскрутка перехода, как UINavigationController
процесс кнопки "Назад"?
Если нет, означает ли это утечку памяти?
Не напрямую. Он будет вызываться, когда будут удалены все сильные ссылки на контроллер представления. После вызова unwind контроллер uinavigation ДОЛЖЕН быть завершен с контроллером представления, если вы не сохранили его сильно в каком-то навигационном контроллере или чем-то еще.
Это не всегда происходит сразу, подумайте и о пулах авторелиза. Убедитесь, что у вас также нет сильных точек делегирования. (большой виновник)
Полезный совет: искать где-либо в коде контроллера представления используется «я», и определить, является ли он сильным, если это так, вы должны обнулить его в раскрутке, иначе не будет вызываться Dealloc - вам не нужно беспокоиться о С ARC слишком много освобождается, если только у вас нет объектов, которыми нужно управлять, или слабых ссылок без автоматических нулевых значений.
dealloc
и посмотреть, вызывается ли он. Но да, когда вы раскручиваете, контроллер представления, с которого вы раскручиваетесь, должен быть освобожден (при условии, что у вас нет сильного цикла ссылок, который препятствует этому). - person Rob   schedule 12.08.2015