尝试从AppDelegate访问viewcontroller时,应用程序崩溃

时间:2013-09-21 13:06:59

标签: iphone ios objective-c storyboard

这就是我试图获取PlayersViewController的方式:

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

应用程序在第3行崩溃后出现以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController viewControllers]: unrecognized selector sent to instance 0x715b290'

我是IOS编程的新手,所以我无法弄清问题是什么。我没有让我的PlayersViewController正确吗?这是我的故事板的图像。

enter image description here

1 个答案:

答案 0 :(得分:1)

包含UINavigationController控制器的PlayersViewController位于标签栏控制器的viewControllers数组中的索引1处。索引是从左到右,也就是说,最左边的选项卡有索引0.“玩家”选项卡位于“手势”的右侧,标签栏有两个项目,因此视图控制器与该选项卡关联index在索引1处。

您看到的消息是因为在索引0处有一个UIViewController实例与故事板中的“View Controller - Gestures”标签对应,并且您尝试向其发送{{1}的消息}没有回应,相信它是UIViewController