“加载笔尖,但视图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上,它应该可以正常工作。