在我的项目中我有不同的Storyboard文件来支持不同的iPhone,我的appDelegate中有这个代码:
if (window.frame.size.height == 568){
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain5Name bundle:[NSBundle mainBundle]];
id rootViewController = [storyBoard instantiateInitialViewController];
[window setRootViewController:rootViewController];
} else if (window.frame.size.height == 480){
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain5Name bundle:[NSBundle mainBundle]];
id rootViewController = [storyBoard instantiateInitialViewController];
[window setRootViewController:rootViewController];
} else if (window.frame.size.height == 667){
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain6Name bundle:[NSBundle mainBundle]];
id rootViewController = [storyBoard instantiateInitialViewController];
[window setRootViewController:rootViewController];
} else if (window.frame.size.height == 736){
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain6plusName bundle:[NSBundle mainBundle]];
id rootViewController = [storyBoard instantiateInitialViewController];
[window setRootViewController:rootViewController];
}
每当我编译并运行应用程序崩溃,说它无法在NSBundle中找到故事板文件时,我将上述代码注释掉,并再次运行。我的代码有问题吗?
答案 0 :(得分:1)
以下是UIStoryboard类参考
的摘录参数
命名
故事板资源文件的名称没有文件扩展名。如果此参数为nil,则此方法引发异常。
我把相关部分加粗了。如果您不是母语人士,则表示不将扩展名添加到参数中。但是你在宏中做到了这一点。
在尝试为代码中的任何问题找到更深奥的原因之前,你真的应该阅读文档。