【问题标题】:how can i solve this error : NSInvalidArgumentException', reason: '-[ViewController viewControllers]: unrecognized selector我该如何解决这个错误:NSInvalidArgumentException',原因:'-[ViewController viewControllers]:无法识别的选择器
【发布时间】:2012-08-12 10:19:54
【问题描述】:

我想将一些信息推送到 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]: unrecognized selector sent to instance 0x687a880”

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

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

很抱歉我的英语不是很好,希望你们能明白我在说什么。 谢了!!

【问题讨论】:

    标签: ios5 xcode4.2 sigabrt xcode-storyboard


    【解决方案1】:

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

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

    【讨论】:

    • 其实我不是很明白"Assigning a viewconroller from navigationcontroller stack to UITabBarController"的意思对了,如果我拿出View Controller(带一个按钮),然后改故事板的安排如下:标签栏控制器→导航控制器→表格视图(我想在其中显示玩家信息。)它成功运行。所以我很困惑如何实现如果我按下按钮,带有表格视图的标签栏将被推到屏幕前面的过程。
    猜你喜欢
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多