协慌网

登录 贡献 社区

笔尖已加载,但未设置 “查看” 出口

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

但是,当我单击应该将我带到创建的视图的工具栏图标时,我收到一条NSInternalInconsistencyException消息:

由于未捕获的异常'NSInternalInconsistencyException' 而终止应用程序,原因:'-[UIViewController _loadViewFromNibNamed:bundle:] 加载了 “...” 笔尖,但未设置视图出口。

因此,我打开了我的 nib 文件,并看到没有设置参考插座的视图。但是,我尝试单击 “新引用出口” 的圆圈并将其拖动到 File's Owner,但这不会让我... 我需要做些什么才能显示视图?

答案

你们是对的,但由于我是新来者,我花了一些时间才弄清楚实现此目的的所有步骤。这对我有用:

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

这是 Josh Justice 的建议,但是以图形方式(图片是我的):

  1. 选择文件所有者
  2. 在右侧面板上选择自定义类别。
  3. 输入自定义类别名称

在此处输入图片说明

  1. 在右侧面板上选择八重奏
  2. 拖动视图出口以查看组件

在此处输入图片说明

最后,使用滚动代码实例化 View Controller:

PTFilterUserVC *aFilterUserVC = [[PTFilterUserVC alloc] initWithNibName:@"FilterVC" bundle:nil];

        //OPTIONAL.This is how 'I' am interested in present the view controller.
        [self.navigationController pushViewController:aFilterUserVC animated:YES];

我通常可以通过重新建立文件所有者和视图之间的连接来修复它。从文件的所有者按住 Control 并拖动到您的 View(在 IB 中),然后从弹出菜单中选择视图。