将数据从Viewcontroller推送到NavigationController,这两个都在tabbarcontroller下

时间:2013-04-19 17:09:27

标签: xcode uinavigationcontroller viewcontroller tabbarcontroller

我正在创建一个应用程序,它有tabbarcontroller,导航控制器和viewcontroller 故事板是这样的

Tabbarcontroller

  • 1 viewController(ScanViewController)
  • 2 NavigationController1 - UITableviewController(SalesOrder)
  • 3 NavigationController2 - UITableviewController
  • 4 NavigationController3

现在,我可以通过类似这样的代码将一些来自navigationcontroller1的rootviewcontroller的数据传递给视图控制器

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    ScanViewController *svc =[self.tabBarController.viewControllers objectAtIndex:0];
    svc.company_name.text= cell.textLabel.text;
    self.tabBarController.selectedIndex = 0;

}

但是,我无法将数据从viewController传递给navigationcontroller的任何rootviewcontroller 我的代码就像这样

-(IBAction)button_order{
    SalesOrder *so =[self.tabBarController.viewControllers objectAtIndex:1];
    so.sales_order_list_from_scan = [[NSMutableArray alloc] initWithObjects:@"SO 4",@"SO 5",nil];
    self.tabBarController.selectedIndex = 1;
}
你能告诉我这里有什么问题吗?我检查了自己,看来SalesOrder(UITableview,NavigationController1的RootViewController)所以没有初始化。 如果我在SalesOrder.m中添加项目,它可以工作,所以我不认为这是任何委托问题。

问题出了问题
[self.tabBarController.viewControllers objectAtIndex:1];

谢谢

0 个答案:

没有答案