如何删除插座的所有参考

pbd*_*pbd 22 xcode objective-c ios

我意外地将命令按钮的事件设置为"出口"而不是"动作".由于自动拖动功能,xcode在applicationDelegate以及.h和.m文件中生成引用.我从.h和.m文件中删除了该条目,但模拟器不会运行,因为它仍在寻找缺少的引用.我找不到任何地方的出口.我是iOS编程的新手.有谁能建议解决这个问题?

Mic*_*lum 35

您必须取消出口与界面构建器中项目的链接.选择将出口链接到的UI元素,然后在"Connections Inspector"中将其删除.

在此输入图像描述

点击小"x"^^^


Sur*_*gch 18

我认为有两个不同的原因,人们可能会想到如何摆脱不需要的Outlet参考.

  1. 使用Interface Builder时创建了不需要的插座.
  2. 从另一个项目View Controller复制了一些Outlet代码.

这两个原因都很容易解决.

IB中不需要的插座

方法一

右键单击故事板中的视图,然后单击引用插座上的小x.

在此输入图像描述

方法二

右键单击"文档大纲"中的视图名称.然后通过引用插座单击小x.

在此输入图像描述

方法三

选择故事板上的视图,然后单击Connections Inspector.然后,您可以单击小x以删除插座参考.

在此输入图像描述

代码中不需要的引用

如果将视图控制器代码从一个项目复制到另一个项目中,您会发现插座发生了一件奇怪的事情.它是在没有连接任何插座的情况下引用第一个项目的视图!

在此输入图像描述

如果您左键单击小圆圈并单击参考链接,您甚至可以将其带到另一个项目的故事板视图中.试图找出如何摆脱这个参考可以让你发疯.

嗯,好消息是你真的无需修理.你没有复制一些深层次,难以找到的引用链接.Xcode只是让人感到困惑,因为两个项目中的View Controller和插座名称相同.基本上只是忽略那个小圈子说的话.你可以关闭第一个项目,Xcode最终会解决问题.使用此答案第一部分中的方法查看当前项目中的视图是否具有引用插座.

无需删除派生数据.无论如何,这并不能解决问题.只是尝试再次打开两个项目,你会得到同样的奇怪行为.我想出来的方法是分别创建两个具有相同名称的视图控制器和具有相同名称的引用插座的新项目.我从来没有复制任何东西,但Xcode显示有人引用了另一个.就像我说的,忽略它.

  • 谢谢你的最后一段 (5认同)