0

这就是我尝试获取 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 正确?这是我的故事板的图像。

在此处输入图像描述

4

1 回答 1

1

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

您看到的消息是因为在索引 0 处有一个UIViewController与故事板中的标签“View Controller - Gestures”相对应的实例,并且您正试图向它发送一条UIViewController不响应的消息,认为它是UINavigationController.

于 2013-09-21T13:19:22.230 回答