我有一个 UIViewController 子类,它在 viewDidLoad: 中访问 self.navigationController。根据它在视图堆栈中的位置,我要么得到 navigationController,要么得到 nil。
如果我的堆栈是“RootViewController -> MyViewController”,我会得到一个有效的指针。
如果我的堆栈是“RootViewController -> AnotherViewController -> MyViewController”,我会得到零。
在这两种情况下,MyViewController 都被推入堆栈:
[self.navigationController pushViewController:self.myViewController
animated:YES];
这让我陷入了困境,因为我需要能够在 MyViewController 上方的堆栈中推送另一个 ViewController,这在第一种情况下工作正常,但在第二种情况下显然失败了。