iOS:如何干净地删除 UIButton 插座? [复制]

Posted

技术标签:

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

可能重复:UIAlertView crashes when added to app

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

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

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

如何摆脱这个异常?

【问题讨论】:

代码请。 ??试试 [myButton removeFromSuperView] 问题不在于代码,而在于Interface Builder。 从 xib 中删除它。这个错误就是因为这个。 如果您认为您已从 xib 中删除所有连接和按钮,请尝试清理项目。 【参考方案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 中删除连接,您应该一切顺利。

【讨论】:

以上是关于iOS:如何干净地删除 UIButton 插座? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

向 UIButton 添加插座

插座无法连接到重复内容

iOS - 如何删除 UIButton 边框颜色?

如何在iOS中以编程方式从UIButton中删除等宽约束

导航栏中的 UIButton 无法识别 iOS 11 中的点击

我的游戏视图控制器 UIButton 有 IBOutlets,需要更好地组织