如何删除插座的所有参考

时间:2012-09-08 04:32:02

标签: ios objective-c xcode

我意外地将命令按钮的事件设置为“outlet”而不是“action”。由于自动拖动功能,xcode在applicationDelegate以及.h和.m文件中生成引用。我从.h和.m文件中删除了该条目,但模拟器不会运行,因为它仍在寻找缺少的引用。我找不到任何地方的出口。我是iOS编程的新手。有人可以为此提出解决方案吗?

3 个答案:

答案 0 :(得分:33)

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

enter image description here

点击小“x”^^^

答案 1 :(得分:16)

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

  1. 使用Interface Builder时创建了不需要的插座。
  2. 从其他项目View Controller中复制了一些Outlet代码。
  3. 这两个原因都很容易解决。

    IB中的不需要的插座

    方法一

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

    enter image description here

    方法二

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

    enter image description here

    方法三

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

    enter image description here

    代码中的不需要的引用

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

    enter image description here

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

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

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

答案 2 :(得分:4)

它也将在命令按钮插座中列在storyboard / xib中。

从那里删除它,你应该很好。