2012-02-07 2 views
0

Я использую контроллер навигации для навигации в течение некоторого времени, и это действительно отличная работа. Проблема в том, что я не совсем понимаю это. Возможно, некоторые опытные участники могут пролить свет на эту тему. У меня есть несколько вопросов:iPhone NavigationViewController описание

1) Каждый класс, который расширяет UIViewController, имеет свойство navigationController. Apple doc заявляет об этом - «Только возвращает контроллер навигации, если контроллер просмотра находится в стеке». Означает ли это, что это свойство равно нулю, если этот контроллер является корневым контроллером.

2) При использовании метода [self.navigationController pushViewController: nextController animated: YES] nextController помещается в стек. Если вы затем вызываете self.navigationController внутри nextController, свойство navigationController будет равно nil?

3) Имеет ли каждый navigationController свой собственный стек или общий стек для всех контроллеров?

4) И наконец, что происходит с элементами в стеке, если вы их не наклеиваете, а освободите навигационный контроллер? Допустим, вы нажимаете, нажимаете, нажимаете, а затем отпускаете на navigationController. Остаются ли эти объекты в стеке или они уничтожены?

ответ

1

1) да 2) нет 3) Каждый navigationController не имеет свой собственный стек 4) При нажатии на контроллер представления, навигации контроллер сохраняет его. Когда контроллер навигации освобожден, он освобождает все контроллеры представлений в стеке.

+0

Спасибо, что ответил на мои вопросы, но я прыгал за дополнительной информацией, чем просто да и нет ... – MegaManX

+0

Добро пожаловать. Я думаю, вы поняли, что такое контроллер навигации и как он работает. Эти четыре вопроса очень специфичны. Контроллер nav - это контроллер вида, чье представление добавит его взгляды контроллеров перемещаемых представлений в виде подзонов. В последнем толчке первый поп-ордер. Контроллер Nav управляет всем этим. Вы нажимаете контроллер vie, и он делает все остальное. Даже устанавливая свойство «navigationController» для его толкаемых контроллеров представлений. – Gabriel

Смежные вопросы