保持对正确故事板的参考

时间:2013-10-22 12:55:25

标签: ios ios6 storyboard uistoryboard uistoryboardsegue

我遇到一个问题,我尝试实例化视图控制器并收到错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'

错误是由对故事板的错误引用引起的。即self.storyboard没有返回我期望它返回的内容。

我有一个NSobject子类设置,我用于一些类方法,我有一个像这样的方法设置来返回故事板:

+(UIStoryboard *)storyboardName {
    NSString *storyboardName = @"Main";
    if ([self isPad]) {
        storyboardName = [storyboardName stringByAppendingString:@"_iPad"];
    } else {
        storyboardName = [storyboardName stringByAppendingString:@"_iPhone"];
    }
    return [UIStoryboard storyboardWithName:storyboardName bundle:nil];
}

问题

我的问题是,这是处理此问题的正确方法吗?然后调用[MyObject storyboardName]返回正确的故事板。

OR

有没有办法通过应用程序保持对故事板的正确引用。或者找出为什么self.storyboard没有返回预期的故事板?

在General>中设置了正确的故事板。主界面应用程序设置。没有AppDelegate添加故事板/窗口工作等。应用程序只是按预期加载主界面故事板和初始视图控制器。

0 个答案:

没有答案