ios – instantiateViewControllerWithIdentifier并传递数据

我在我的应用程序中使用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];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...