我有一个基本的故事板设置,我在其中加载我的 NavViewController,然后指向初始视图控制器。然后我有几个额外的视图控制器,它们都通过segues以线性方式菊花链在一起。当我最初启动我的应用程序时,我在 NavControllerViewController.m 中运行以下命令
(void)viewDidLoad
{
[super viewDidLoad];
NSArray * controllerArray = [self viewControllers];
NSLog(@"view controllers: %@", controllerArray);
}
该日志仅显示第一个根视图控制器(直接“连接”到导航控制器的那个)。堆栈中缺少所有视图控制器。我的印象是,如果我的故事板上有一个视图控制器,它会自动添加到导航控制器中吗?
如果这不正确,从调用 VC 实例化每个 VC 是否是一个不错的选择?例如,如果我想从 VC1 过渡到 VC2,我是否将以下代码放入 VC1:
UIViewController *vc2 = [self.storyboard instantiateViewControllerWithIdentifier:@"vc2"];
[self pushViewController:vc2 animated:YES];
或者可能:
[self performSegueWithIdentifier:@"vc2Segue" sender:self];