У меня есть подкласс UIViewController, который обращается к self.navigationController в viewDidLoad :. В зависимости от того, где он находится в стеке представлений, я либо получу NavigationController, либо получу nil.
Если мой стек - «RootViewController -> MyViewController», я получаю действительный указатель.
Если мой стек - «RootViewController -> AnotherViewController -> MyViewController», я получаю ноль.
В обоих случаях MyViewController помещается в стек с помощью:
[self.navigationController pushViewController:self.myViewController
animated:YES];
Это заставило меня застрять, потому что мне нужно иметь возможность вставить другой ViewController в стек над MyViewController, который отлично работает в первом случае, но, очевидно, не работает во втором.