如何找到故事板制作的视图控制器实例

How to find Instance of View Controller made by storyboard

我正在尝试在 Xcode 中制作一个选项卡式应用程序,它允许用户拍照并在 FirstViewController class 上进行编辑,完成后在 SecondViewController 上显示。

当我开始这个项目时,Xcode 自动在故事板中为我制作了两个 viewController。我现在需要的是找到生成的第二个 viewController 的实例,这样我就可以调用一个方法并将参数(UIImage)从第一个视图控制器传递给第二个视图控制器。

FirstViewContoller.m

-(void) passImageToSecondVC (UIImage *) img 
{
    [<instanceOf_SecondViewController> receiveImg: img]; 
}

SecondViewContoller.m

-(void) receiveImage (UIImage *) img 
{
    //Code to display the image received 
}

我要问的是如何找到由 Xcode 生成的 SecondViewController 实例的名称(在示例代码中显示为 <>),以便调用此方法。

虽然我非常接近于以编程方式执行此操作,但我发现这要容易得多,我想学习如何通过情节提要来执行此操作,而且我非常愿意听取解决此问题的其他方法。谢谢!

没有办法通过情节提要来做到这一点。您不通过名称访问视图控制器。每个视图控制器都可以通过 self.tabBarController 访问标签栏控制器。您可以从选项卡栏控制器的 viewControllers 数组访问各个控制器。因此,要在第二个选项卡中获取对控制器的引用,您可以使用 self.tabBarController.viewControllers[1].

使用委托模式。 让一个 vc 成为另一个 vc 的委托,并在它们之间传递数据。我认为这是一个常见的场景。 https://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html