这就是我试图获取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正确吗?这是我的故事板的图像。
答案 0 :(得分:1)
包含UINavigationController
控制器的PlayersViewController
位于标签栏控制器的viewControllers
数组中的索引1处。索引是从左到右,也就是说,最左边的选项卡有索引0.“玩家”选项卡位于“手势”的右侧,标签栏有两个项目,因此视图控制器与该选项卡关联index在索引1处。
您看到的消息是因为在索引0处有一个UIViewController
实例与故事板中的“View Controller - Gestures”标签对应,并且您尝试向其发送{{1}的消息}没有回应,相信它是UIViewController
。