打开故事板文件时出错

时间:2015-02-23 20:28:49

标签: ios storyboard xcode6 nsbundle

在我的项目中我有不同的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中找到故事板文件时,我将上述代码注释掉,并再次运行。我的代码有问题吗?

1 个答案:

答案 0 :(得分:1)

以下是UIStoryboard类参考

的摘录

参数 命名
故事板资源文件的名称没有文件扩展名。如果此参数为nil,则此方法引发异常。

我把相关部分加粗了。如果您不是母语人士,则表示不将扩展名添加到参数中。但是你在宏中做到了这一点。

在尝试为代码中的任何问题找到更深奥的原因之前,你真的应该阅读文档。