我遇到一个问题,我尝试实例化视图控制器并收到错误:
*** 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添加故事板/窗口工作等。应用程序只是按预期加载主界面故事板和初始视图控制器。