0

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

*** 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] 返回正确的故事板。

或者

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

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

4

0 回答 0