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

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

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

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


当前回答

选择文件所有者,然后打开身份检查器,给出与之对应的类名。如果上述方法都不起作用,并且仍然无法看到视图出口,则将新的引用出口连接到文件所有者,则可以看到视图出口。单击视图Outlet以在视图Outlet和文件所有者之间建立连接。运行该应用程序,工作正常。

其他回答

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

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

以下是对我有用的:

打开导致问题的XIB文件单击左栏上的文件所有者图标(顶部的一个,看起来像一个黄色轮廓框)如果您没有看到右侧边栏,请单击工具栏中“视图”上方的第三个图标。这将显示右侧边栏在右侧边栏中,单击第四个选项卡——看起来有点像报纸的选项卡在顶部的“自定义类”下,确保类是与此视图对应的ViewController的名称。如果没有,请输入在右侧边栏中,单击最后一个选项卡,该选项卡看起来像一个带箭头的圆圈你应该看到“outlets”下面有“view”。将旁边的圆圈拖到左栏上的“view”图标上(底部的一个,看起来像一个白色正方形,有一个粗灰色的轮廓保存xib并重新运行

我在意外删除xib引用并再次添加它时也遇到了同样的问题。我只是通过在文件所有者和视图之间建立连接来解决了这个问题。还要确保您的文件所有者的自定义类是您期望的viewController。

对我来说,这里所说的一切https://stackoverflow.com/a/6395750/939501是真的,但还是抛出了错误,原因是我创建了一个名为ABCView的View类,然后删除了它。后来我添加了一个视图控制器作为ABCViewController,所以它在新的视图控制器中引用了旧的ABCView。我不得不删除ABCViewController并添加一个不同名称的新控件,这解决了我的问题。

谢谢