从AppDelegate问题访问Storyboard ViewController

时间:2015-01-11 22:38:40

标签: ios objective-c xcode storyboard uistoryboard

我正在尝试访问使用故事板的应用程序中的视图控制器中的Array变量。

背景

我一直关注着Ray Wenderlich tutorial on Storyboards

完成教程后,我回去尝试了不同的路线,但我无法访问视图控制器。一切都差不多,除了我的设置是初始场景是一个视图控制器。我是作者在他的表中向NSMutableArray添加一些数据的部分。

我用作指南的代码

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
UINavigationController *navigationController = [tabBarController viewControllers][0]; 
PlayersViewController *playersViewController = [navigationController viewControllers][0]; 
playersViewController.players = _players;

我希望通过复制我在视图控制器中看到的内容,传递适当的类型,但不是这样,这很简单。

我有View Controller>视图控制器>导航视图控制器>的UITableViewController。

ScreenShot

我的代码:

UIViewController *vc = (UIViewController*)self.window.rootViewController;
UIViewController vc1 = [vc viewController][0]; 
UINavigationController *nc = [vc1 viewController][0];
SearchViewTableViewController *svc = [nc viewControllers][0];
svc.myarray = _myarray;

我尝试了多种组合,但我无处可去。

我必须有一种更简单的方法来引用类/视图/场景。 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

确保导入ViewController头文件 确保您已经为ViewController提供了Storyboard标识符。 那么这样的事情应该有效:

MyViewController *myVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"MyViewController"];
myVC.myMutableArray = [NSMutableArray new];
....