“加载笔尖,但视图sockets未设置”例外

我正在尝试使用UINavigationController 。 我有两个以编程方式创建的视图。 在第一个视图上按下UIButton第二个视图应该到达前景。

但这里的应用程序崩溃exception:

加载的笔尖但未设置视图sockets

可能是什么原因以及如何解决它。

以下步骤

1)打开你的xib文件,然后右键单击文件所有者并拖动到你的第一个视图

在此处输入图像描述

2)然后用“视图”的出口绑定该视图

在此处输入图像描述

希望你能得到它……

这样做(你没有在xib中查看所以添加一个然后执行此操作):

在此处输入图像描述

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

谢谢,

如果您没有在“Connections inspector”(最右侧)选项卡上看到要选择的“视图”sockets,我发现我必须返回到文件所有者自定义类的通用视图控制器(例如,UICollectionViewController),而不是我之前输入的子类。 关闭并重新打开Xcode后,视图sockets再次出现,所以我按照sagarcool89的答案中所描述的那样连接它。 然后我将我的文件所有者自定义类设置回我的子类,并最终移过这个错误。

选择File's owner .xib File's owner ,打开Identity Inspector ,确保将Custom Class设置为与控制器类名相同的名称。 如果单独创建IB文件和控制器(在单独的步骤中),您可能忘记检查这一点。

如果您已经尝试了所有内容但仍然遇到此错误,请尝试从头开始重新创建类文件, 但请记住选中“还创建XIB文件”复选框 。 这将在单独创建这些文件时自动链接一些未链接的项目。 创建完成后,您可以将所有内容剪切并粘贴到新的XIB上,它应该可以正常工作。

Interesting Posts