我想使用代码从一个视图控制器移动到下一个视图控制器。我有这个:
[self.navigationController pushViewController:ViewController2 animated:YES];
此代码用于启动的第一个屏幕。我希望它(在某种条件下)推送到名为ViewController2的NEXT视图控制器。 ViewController2已经存在(它是一个故事板项目)。但是当前视图控制器不知道上面代码中的ViewController2是什么。我如何“获取”或“访问”ViewController2?它已经退出,带有.h和.m文件,但我该怎么称呼它??
答案 0 :(得分:1)
如果你正在使用故事板,你可以通过它的标识符来访问它:
ViewController2 *viewController2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"];
确保将其标识符正确设置为“ViewController2”或任何有意义的名称。
答案 1 :(得分:1)
这不是您在使用故事板时通常推送视图控制器的方式。您应该在IB中设置push segue并使用performSegueWithIndentifier:sender:转到下一个控制器。您还应该实现prepareForSegue:sender:您可以在其中访问源控制器和目标控制器。这种方法通常会提供第二个视图控制器完成其工作所需的任何数据。