Я использую контроллер навигации для навигации в течение некоторого времени, и это действительно отличная работа. Проблема в том, что я не совсем понимаю это. Возможно, некоторые опытные участники могут пролить свет на эту тему. У меня есть несколько вопросов:iPhone NavigationViewController описание
1) Каждый класс, который расширяет UIViewController, имеет свойство navigationController. Apple doc заявляет об этом - «Только возвращает контроллер навигации, если контроллер просмотра находится в стеке». Означает ли это, что это свойство равно нулю, если этот контроллер является корневым контроллером.
2) При использовании метода [self.navigationController pushViewController: nextController animated: YES] nextController помещается в стек. Если вы затем вызываете self.navigationController внутри nextController, свойство navigationController будет равно nil?
3) Имеет ли каждый navigationController свой собственный стек или общий стек для всех контроллеров?
4) И наконец, что происходит с элементами в стеке, если вы их не наклеиваете, а освободите навигационный контроллер? Допустим, вы нажимаете, нажимаете, нажимаете, а затем отпускаете на navigationController. Остаются ли эти объекты в стеке или они уничтожены?
Спасибо, что ответил на мои вопросы, но я прыгал за дополнительной информацией, чем просто да и нет ... – MegaManX
Добро пожаловать. Я думаю, вы поняли, что такое контроллер навигации и как он работает. Эти четыре вопроса очень специфичны. Контроллер nav - это контроллер вида, чье представление добавит его взгляды контроллеров перемещаемых представлений в виде подзонов. В последнем толчке первый поп-ордер. Контроллер Nav управляет всем этим. Вы нажимаете контроллер vie, и он делает все остальное. Даже устанавливая свойство «navigationController» для его толкаемых контроллеров представлений. – Gabriel