如何访问已有的视图控制器

时间:2012-10-15 00:04:44

标签: objective-c ios xcode

我想使用代码从一个视图控制器移动到下一个视图控制器。我有这个:

[self.navigationController pushViewController:ViewController2 animated:YES];

此代码用于启动的第一个屏幕。我希望它(在某种条件下)推送到名为ViewController2的NEXT视图控制器。 ViewController2已经存在(它是一个故事板项目)。但是当前视图控制器不知道上面代码中的ViewController2是什么。我如何“获取”或“访问”ViewController2?它已经退出,带有.h和.m文件,但我该怎么称呼它??

2 个答案:

答案 0 :(得分:1)

如果你正在使用故事板,你可以通过它的标识符来访问它:

ViewController2 *viewController2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"];

确保将其标识符正确设置为“ViewController2”或任何有意义的名称。

答案 1 :(得分:1)

这不是您在使用故事板时通常推送视图控制器的方式。您应该在IB中设置push segue并使用performSegueWithIndentifier:sender:转到下一个控制器。您还应该实现prepareForSegue:sender:您可以在其中访问源控制器和目标控制器。这种方法通常会提供第二个视图控制器完成其工作所需的任何数据。