1

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

标签栏控制器

  • 1个视图控制器(ScanViewController)
  • 2 NavigationController1 - UITableviewController (SalesOrder)
  • 3 NavigationController2 - UITableviewController
  • 4 导航控制器3

现在,我可以通过这样的代码将一些数据从 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, RootViewController of NavigationController1) 所以没有初始化。如果我在 SalesOrder.m 中添加项目,它可以工作,所以我不认为这是任何委托问题。问题出在哪里

[self.tabBarController.viewControllers objectAtIndex:1];

谢谢你

4

0 回答 0