【问题标题】:iOS: How to cleanly delete UIButton outlet? [duplicate]iOS:如何干净地删除 UIButton 插座? [复制]
【发布时间】:2012-12-06 18:58:22
【问题描述】:

可能重复:
UIAlertView crashes when added to app

我最近尝试删除一个名为 myButton 的 UIButton 插座,但我想我一定错过了什么,因为我现在收到以下错误:

这个类与键 myButton 的键值编码不兼容

如果我对整个项目进行 grep,则 没有对 myButton 的剩余引用,因此我不确定如何解决此问题。

如何摆脱这个异常?

【问题讨论】:

  • 代码请。 ??试试 [myButton removeFromSuperView]
  • 问题不在于代码,而在于Interface Builder。
  • 从 xib 中删除它。这个错误就是因为这个。
  • 如果您认为您已从 xib 中删除所有连接和按钮,请尝试清理项目。

标签: objective-c ios uibutton iboutlet


【解决方案1】:

您收到此错误消息,因为您从控制器中删除了 IBOutlet,但 Interface Builder 中的链接仍然存在。

要解决此问题,请转到 Interface Builder 下的指定 xib,右键单击“文件所有者”并删除带有警告图标的链接。

【讨论】:

  • 请注意,您不能在实用程序检查器中选择“文件所有者”来执行此操作。您必须选择单击它。
【解决方案2】:

将 xib 文件编辑为 xml 文件(测试编辑器)并将其从那里删除,或删除 xib 文件并重新创建组件

【讨论】:

  • 这成功了。现在我只是想知道为什么在 xml 文件中查找时跨项目查找不起作用...
  • 这是有效的,因为您从 xml 中删除了 File's Owner 的出口,无需直接编辑 XML,我建议不要这样做。了解发生了什么,而不仅仅是删除其中名称为“myButton”的元素。
  • @mkral 我有同样的情况,我知道,这就是我告诉的原因。我已经重命名了一个插座 - 或者不确定 unlinket,但是 .h 文件不是,它给了我编译器错误。我已经挖掘了更多的时间来查看:它仅在 xib 文件中:无处可去。所以我不得不从 xib 中删除元素,或者使用 Inteface Builder 重新制作 ui 定义(xib 文件)
【解决方案3】:

您可能仍然将它与 .xib 中的任何内容关联

确保从标题中删除您的变量/属性,并在界面构建器中确保在您的连接选项卡下,您没有与不再存在的项目的连接。

【讨论】:

    【解决方案4】:

    尝试右键单击故事板上的按钮,然后单击旧插座一角的 x。

    【讨论】:

      【解决方案5】:

      如果您使用的是 XIB 或 Storyboard,我建议您查看其中的视图并尝试找到尝试将插座附加到 myButton 的视图。从 Interface Builder 中删除连接,您应该一切顺利。

      【讨论】:

        猜你喜欢
        • 2012-09-23
        • 1970-01-01
        • 1970-01-01
        • 2014-04-10
        • 1970-01-01
        • 2021-11-24
        • 2015-12-01
        • 2011-02-01
        • 1970-01-01
        相关资源
        最近更新 更多