2016-04-07 3 views
-1

Когда я инициализирую UINavigationController, передав UITableViewController в качестве своего контроллера корневого представления, я могу получить UINavigationController по свойству UITableViewController 'navigationController'. Мне интересно:Как UINavigationController становится navigationController UITableView?

  1. такое свойство устанавливается автоматически во время инициализации?
  2. is navigationController - свойство некоторого протокола, который реализует UITableViewController или его родительский класс?
+0

Не имеет значения и может измениться. – dasdom

+0

Вы имеете в виду 'UINavigationController' вместо' UINavigationBar'? И 'navigationController' вместо' navigationBar'? – rmaddy

+0

Здесь, похоже, много путаницы ... UINavigationBar не имеет контроллера корневого представления. UITableView не является контроллером представления ... чего вы пытаетесь достичь? – NKorotkov

ответ

0

UINavigationController называет [rootViewController didMoveToParentViewController:self]

Из этого метода viewcontrollers знать, где они были добавлены.

Также просмотр контроллеров имеет геттер parentViewController. navigationController - просто удобное геттер, то литье parentViewController в UINavigationController *.

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