我在项目中添加了一个新的nib文件,并尝试加载它。

然而,当我单击工具栏图标(该图标应将我带到我创建的视图)时,我会收到一个NSInternalInconstanceException,消息如下:

由于未捕获异常,正在终止应用“NSInternalInconstanceException”,原因:“-[UIViewController_loadViewFromNibNamed:bundle:]加载了“…”笔尖,但未设置视图出口

所以我打开了我的笔尖文件,看到了没有设置引用出口的视图。然而,我尝试单击并拖动“新引用出口”的圆圈到文件的所有者,但它不允许我……我需要做什么才能显示我的视图?


当前回答

我也遇到了同样的问题,我发现这是因为我在Content选项下的Table View的财产中勾选了“Static cells”。当它变为“动态原型”时起作用。屏幕截图如下。

其他回答

我刚把这个修好了。大型项目,两个文件。一个是“ReallyLargeNameView”,另一个则是“ReallyLargeNameViewController”

根据上面选择的第二个答案,我决定清理我的建筑。纳达,但我仍然怀疑XCode(因为我有两个相同的类,应该抽象它们,但呃……)所以一个在工作,一个不工作。文件的所有者名称只是复制和粘贴,出口重新查找,xCode重新启动,仍然一无所获。

所以我删除了类似的命名类(这是一个视图)。很快,新的错误“outlet inside not connected”字面意思是“webView not key value”等等。。。基本上说“Visual Studio更好”。无论如何我删除了较小的命名文件,砰,它起作用了。

XCode被类似的命名文件所混淆。而且这个项目足够大,需要重新启动一点,这可能是其中的一部分。

我希望我有一个比“XCode很困惑”更技术的答案,但好吧,XCode在这一点上很困惑。就像我帮助一个小孩一样。它现在起作用了,:)如果上述方法不能解决任何问题,应该会让其他人受益。

始终记得清理构建(通过删除模拟器)

我想支持斯蒂芬·J。有些时候,X代码确实会感到困惑。我刚刚有过一次体验,我经常使用UI,并多次添加和删除了outlets。插座再也接不上电线了。我从来没有弄清楚具体的原因(我已经尝试了上面的所有解决方案),我只需要删除NIB并从头开始重新创建它,事实上,在NIB工作之前,它必须使用不同的名称。(XCode 4.6.1)为此浪费了几个小时。

对我来说,当

我有一个与Nib文件关联的ViewController类(.mm/h),来自此ViewController的UIView必须作为子视图加载到另一个视图上,我们会这样称呼-(void)initCheckView{CheckView*pCheckViewCtrl=[CheckView实例];pCheckView=[pCheckViewCtrl视图];[[self-view]添加子视图:pCheckView];[pCheckViewCtrl-performCheck];}

哪里

+(CheckView *)instance{
    static CheckView *pCheckView = nil;
    static dispatch_once_t checkToken;

    dispatch_once(&checkToken, ^{
        pCheckView = [[CheckView alloc]initWithNibName:@"CheckView" bundle:nil];
        if ( pCheckView){
            [pCheckView initLocal];
            **[pCheckView loadView];**
        }
    });

    return pCheckView;

}

此处缺少loadView、、,添加此行解决了我的问题。

我遇到这个问题的方式与这里的其他答案略有不同。

如果我只是创建了一个新的xib文件,在Interface Builder中向其添加了一个UIViewController,并将该UIViewController的自定义类设置为视图控制器,则会导致“视图出口未设置”崩溃。这里的其他解决方案是控制将视图出口拖动到视图,但对我来说,视图出口是灰色的,我无法控制拖动它。

我发现我的错误是在Interface Builder中添加UIViewController。相反,我必须添加一个UIView,并将文件所有者的自定义类设置为视图控制器。然后我可以控制将文件所有者的视图出口拖动到我的新视图UIView中,一切都正常工作。

未设置视图标识-类标识。将其设置为适当的类后,问题得到解决。