首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序试图呈现一个零模型视图控制器

应用程序试图呈现一个零模型视图控制器
EN

Stack Overflow用户
提问于 2013-03-23 20:11:11
回答 1查看 3K关注 0票数 1

我目前正在尝试在我的应用程序中实现一个介绍性(教程)部分,我想给用户在任何时候查看它的选项。我的应用程序的主要部分是由UIViewController XIB文件(ViewController_iPhone.xibViewController_iPad.xib)组成的,为了介绍我的观点,我发现使用故事板更容易。因此,在一个简短的总结中:我试图从主ViewController (XIB)切换到故事板中的启动ViewController,这取决于设备类型-> --所有这些都是从UIButton点击开始的。

在我的故事板中,我指定了一个独立的故事板ID,所以不管它是iPad、iPhone还是iPhone-4英寸,它都会加载正确的视图:

故事板ID:3-Slide1 (iPad),4-Slide1 (iPhone),5-Slide1 (iPhone-4英寸)。

以下是ViewController.m:中的按钮代码

代码语言:javascript
复制
NSString *nibName;
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            nibName = @"3-Slide1";
        } else {
            if ([UIScreen mainScreen].bounds.size.height == 480.0) {
                nibName = @"4-Slide1";
            } else {
                nibName = @"5-Slide1";
            }
        }
        
        IntroViewController *introViewController = [self.storyboard instantiateViewControllerWithIdentifier:nibName];
        
        [self presentViewController:introViewController animated:YES completion:nil];

SIGABRT错误:

代码语言:javascript
复制
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'Application tried to present a nil modal view controller on target
<ViewController: 0x20865170>.

为什么会出现这个错误?

注意:有很多帖子都有相同的SIGABRT错误,但似乎都有不同的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-24 21:21:23

为什么有一个从您的视图控制器引导到信息视图控制器,如果您是按它的模式。

我只需为视图控制器制作单独的子格(无论如何,其中一个将位于不同的故事板文件中),命名这些控件并使用您的逻辑来确定正确的segue。然后使用performSegueWithIdentifier:而不是instantiateViewControllerWithIdentifier

(我猜nib名称实际上是指nib的文件名。不确定,但segue方法无论如何都是正确的方法。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15591540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档