xcode - 如何纠正我的 .h 文件将其 IBOutlets 链接到另一个项目中的 XIB 文件的事实?

标签 xcode

这是一个真正的“WTF?”对我来说的时刻。

我从另一个项目中复制了一些类,包括复制和粘贴代码和一些 UIBulder 组件。没有被复制的是 XIB 文件(我从 XIB 转到 Storyboard)。

我的标签/滑动识别器没有激活,当我深入研究时,我唯一能发现的可以解释它的是不知何故,不知何故,我正在连接 XIB 文件。 (当我单击标题中 IBAction/IBOutlet 行旁边的小按钮时,它会显示 Storyboard和 xib 文件都已连接)。

我没有在我能找到的任何地方引用该文件,它只是在 Xcode 中以某种方式神奇地识别出来。我不知道该怎么办,如何解决这个问题。

谁有想法?

编辑:真正令人讨厌的是,当我检查文件列表时,该文件似乎不在我的文件列表中,我不能就这样删除引用。而且由于它引用了原始项目中的文件,我不能只是删除它。 (在任一项目中所做的任何更改都会导致两个项目发生更改;出于某种原因,它们都使用相同的 xib 文件)。我应该可以简单地删除对 xib 文件的引用,但我找不到引用。

最佳答案

如果您将 View Controller 代码从一个项目复制到另一个项目,您会注意到 socket 发生了一件奇怪的事情。它引用了第一个项目的 View ,而您从未连接过任何 socket 。

enter image description here

如果您左键单击小圆圈并单击引用链接,您甚至会被带到另一个项目中的 Storyboard View 。试图弄清楚如何摆脱这个引用可能会让你发疯。

那么,好消息是,您真的没有什么需要解决的。 您没有复制一些深入、难以找到的引用链接。 Xcode 只是感到困惑,因为两个项目中的 View Controller 和 socket 名称相同。基本上只是忽略那个小圆圈所说的。您可以关闭第一个项目,Xcode 最终会解决问题。右键单击 Storyboard 中的 View 以查看当前项目中真正存在的引用 socket 。 (有关更多详细信息,请参阅 my fuller answer。)

无需删除派生数据。反正这也解决不了问题。只需再次尝试同时打开两个项目,您就会得到相同的奇怪行为。

我想出来的方法是分别创建两个新项目,它们具有同名的 View Controller 和同名的引用导出。我从来没有复制过任何东西,但 Xcode 显示一个正在引用另一个。就像我说的,忽略小圆圈。

关于xcode - 如何纠正我的 .h 文件将其 IBOutlets 链接到另一个项目中的 XIB 文件的事实?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079249/

相关文章:

ios - Xcode 9 Tableview 调整大小错误

ios - 带有自定义项目模板的 Xcode 9 文件夹引用

ios - 如何删除 Storyboard或菜单上的约束

swift - 向 View 标签添加约束后,Xcode 在构建中卡住

xcode - 嵌入转场 - iOS 5

json - 无法使用 JSONDecoder 解码

ios - CoreData 不会为 Swift 3 生成 NSManagedObject

ios - 更改 UIAlertController 的标题颜色

objective-c - Xcode 4、Interface Builder 和静态库中的类意识

iphone - 更改应用程序目标名称会使 PNG 消失?