我怎样才能解决这个错误:NSInvalidArgumentException',原因:' - [ViewController viewControllers]:无法识别的选择器

时间:2012-08-16 04:46:40

标签: ios5 xcode4.2 sigabrt xcode-storyboard

我想将一些信息推送到UITableView,所以我必须得到该视图的位置。

这是AppDelegate中的代码:

player = [[player1Data alloc] init];
player.name = @"Dave Brubeck";
player.game = @"Texas Hold’em Poker";
player.rating = 2;
[playersArray addObject:player];
// to get the player1ViewController
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
UITabBarController *tabBarController = [[navigationController viewControllers] objectAtIndex:0];
player1ViewController *playersViewController = [[tabBarController viewControllers] objectAtIndex:0];
playersViewController.playersArray = playersArray;
return YES;  

错误出现在:

player1ViewController * playersViewController = [[tabBarController viewControllers] objectAtIndex:0];

然后xcode显示:线程1:信号SIGABRT

控制台显示:

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [ViewController viewControllers]:无法识别的选择器发送到实例0x687a880'

这是我的故事板布局,我不确定它是否是正确的安排。

导航控制器→查看控制器(带按钮)→标签栏控制器→表格视图(我想显示玩家信息。)

很抱歉我的英语不太好,希望你们能理解我在说什么。 THX !!

1 个答案:

答案 0 :(得分:0)

UITabBarController的初始化部分是问题。将一个viewconroller从navigationcontroller堆栈分配给UITabBarController ??

准备一个需要在UITabBarController中显示的VC数组,并将其加载到UITabBarController的viewcontrollers属性