Я думаю, что вы неправильно поняли какую-то концепцию контроллера навигации.
Когда создается контроллер навигации, вы нажимаете первый (корневой) контроллер, который просматривается.Когда пользователь выполняет какое-либо действие, вы создаете другой контроллер и помещаете его в иерархию с помощью pushViewController:animated:
.С этого экрана вы можете снова создать и нажать еще один, затем еще один и так далее.Когда пользователь хочет вернуться, он может использовать кнопку «Назад» на панели навигации.Когда он возвращается назад, эти контроллеры освобождаются и, возможно, освобождаются (если вы не сохранили их для возможного повторного использования).