Из справочника по классу UINavigationController :
Этот метод удаляет вид сверху
контроллер из стека и делает
новая вершина стека активная
просмотр контроллера. Если вид
контроллер на вершине стека
контроллер корневого представления, этот метод
ничего не делает. Другими словами, вы
не может вытолкнуть последний элемент в стеке.
В дополнение к отображению представления, связанного с новым представлением
контроллер в верхней части стека,
этот метод также обновляет
панель навигации и панель инструментов
соответственно. В iPhone OS 3.0 и
позже содержимое встроенного
панель инструментов навигации обновлена до
отражать элементы панели инструментов нового
просмотр контроллера.
UINavigationController поддерживает стек UIViewControllers (показанный на схеме вверху этой ссылки на класс), каждый из которых соответствует уровню детализации, к которому вы шагнули. Например, вы можете выбирать местоположения, поэтому вы начнете с контроллера табличного представления, отображающего страны, а затем нажмите контроллер табличного представления, отображающий состояния / провинции, когда пользователь выбирает страну. Когда пользователь хочет вернуться на уровень в контроллере навигации, он выталкивает текущий контроллер представления из стека и отображает предыдущий. Вы можете установить, будет ли это действие всплывающим анимированным или нет.
Обычно это выполняется для вас кнопкой «Назад», но если вы хотите вручную вернуть пользователя на предыдущий уровень контроллера навигации, вы должны использовать этот метод.
См. Также раздел Навигационные контроллеры в Руководстве по программированию контроллера представления для iPhone OS.