我在我的应用程序中使用Storyboard,我想将数据从一个视图传递到另一个视图.
而不是使用segues我使用instantiateViewControllerWithIdentifier.在这种情况下,我从我的第一个TableViewController实例化到一个NavigationController,它附加了第二个TableViewController,因为我需要在第二个TableViewController中导航.现在我想将我的第一个TableviewController中的数据传递给我的第二个TableviewController,具体取决于单击了哪一行.在这种情况下,newTopViewController将是我的NavigationController但我现在的问题是如何将数据从firstTableViewController传递到secondTableviewController.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSString *identifier = [NSString stringWithFormat:@"%@Top",[menuArray objectAtIndex:indexPath.row]]; UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:identifier]; }
解决方法
如果实例化navigationController,则可以使用viewControllers属性获取导航控制器的内部viewController.
像这样的东西:
UINavigationController *navigationController = [self.storyboard instantiateViewControllerWithIdentifier:identifier]; MBFancyViewController *viewController = navigationController.viewControllers[0]; // setup "inner" view controller viewController.foo = bar; [self presentViewController:navigationController animated:YES completion:nil];