如何查找由storyboard制作的View Controller实例

时间:2015-04-15 01:19:41

标签: ios objective-c iphone xcode storyboard

我正在尝试在Xcode中创建一个标签式应用程序,允许用户在FirstViewController类上拍摄照片并对其进行编辑,完成后将它们显示在SecondViewController上。

当我启动项目时,Xcode会在故事板中为我自动创建两个viewControllers。我现在需要的是找到生成的第二个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实例的名称(在示例代码中由&lt;&gt;显示),因此我可以调用此方法。

虽然我非常接近于以编程方式执行此操作,但我发现更容易通过故事板学习如何执行此操作,我也非常愿意听到此问题的其他解决方案。谢谢!

2 个答案:

答案 0 :(得分:2)

通过故事板无法做到这一点。您无法通过其名称访问视图控制器。每个视图控制器都可以通过self.tabBarController访问选项卡栏控制器。您可以从选项卡栏控制器的viewControllers数组访问各个控制器。因此,要在第二个选项卡中获取对控制器的引用,可以使用self.tabBarController.viewControllers [1]。

答案 1 :(得分:0)

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