将数据从View传递到tabcontroller内的另一个视图

时间:2011-12-23 03:14:30

标签: ios objective-c storyboard

我在将数据从View传递到另一个与Tab Controller有关系的视图时出现问题。我让它从一种观点到另一种观点......

如果我将segue从mainView直接设置到secondView,它就可以了!但是,如果我将segue设置为标签栏控制器(将调用第二个视图),它确实没有......

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender(id)sender {
 secondView *secView = [segue destinationViewController]
 secView.ext = @".com";
}

如果我不得不猜我会说destinationViewController是问题..因为目标视图控制器是标签栏控制器而不是secondView

2 个答案:

答案 0 :(得分:0)

看看你写的是什么,看看你的代码 - 你基本上回答了你自己的问题。您已将segue连接到secondView的实例以外的其他内容。然后,你得到segue的destinationViewController(你知道它是一个标签控制器),并将其视为secondView

您没有说它是如何失败的,但如果您收到UITabBarController没有-setExt:方法的错误,我不会感到惊讶。

答案 1 :(得分:0)

你可以做两件事:

  1. 创建一个Tab Bar Controller类,在其中添加一个属性,在prepareForSegue中为其赋值,然后在[self.tabBarController]中使用secondView.m来访问它,或者

  2. 将您的secondView *secView = [segue destinationViewController]行更改为:

    secondView *secView =  [[[segue destinationViewController] viewControllers] objectAtIndex:0]