Утечки говорят вам только о том, где была выделена память, но она не может сказать вам, куда поместить код, который должен был ее освободить, чтобы начать с!
Так что это говорит о том, что вы создали контроллер представления, иэто было еще в памяти после того, как ты покончил с этим.Да, вы освобождаете VC в этом коде, но только после того, как представите его - это означает, что контроллер навигации сохранил его и, возможно, другие вещи.Он освобождается только при вызове окончательного выпуска.
Основная причина того, что контроллеры представления не освобождаются, обычно заключается в том, что контроллер представления устанавливает себя в качестве делегата для чего-то, что он сохраняет, и затем не отменяет это, когда представлениеконтроллер выходит за экран.Если ваш контроллер представления является делегатом чего-то, что сохраняет его, он никогда не будет освобожден.