这是一个真正的'WTF?' 对我而言.
我从另一个项目中复制了一些类,包括复制和粘贴代码以及一些UIBulder组件.没有被复制的是XIB文件(我从XIB转到故事板).
我的选项卡/滑动识别器没有激活,当我向下钻取时,我发现的唯一可以解释的是,不知何故,某种程度上,我正在与XIB文件挂钩.(当我点击标题中IBAction/IBOutlet行旁边的小按钮时,它会显示故事板和xib文件已连接).
我没有在任何我能找到的文件中引用该文件,它只是在Xcode中以某种方式神奇地识别出来.我不知道该怎么做,如何解决这个问题.
有人有主意吗?
编辑:真正讨厌的一点是当我检查文件时,文件似乎不在我的文件列表中,我不能只删除那种方式的引用.由于它引用了原始项目中的文件,我不能只删除它.(在任一项目中进行的任何更改都会导致BOTH项目中的更改;由于某种原因,它们都使用相同的xib文件).我应该能够简单地删除对xib文件的引用,但是我找不到引用.
如果将视图控制器代码从一个项目复制到另一个项目中,您会发现插座发生了一件奇怪的事情.它在没有连接任何插座的情况下引用第一个项目的视图.
如果您左键单击小圆圈并单击参考链接,您甚至可以将其带到另一个项目的故事板视图中.试图找出如何摆脱这个参考可以让你发疯.
嗯,好消息是你真的无需修理.你没有复制一些深层次,难以找到的引用链接.Xcode只是让人感到困惑,因为两个项目中的View Controller和插座名称相同.基本上只是忽略那个小圈子说的话.你可以关闭第一个项目,Xcode最终会解决问题.右键单击故事板中的视图,以查看当前项目中确实存在哪些引用插座.(有关详细信息,请参阅我的更全面的答案.)
无需删除派生数据.无论如何,这并不能解决问题.只是尝试再次打开两个项目,你会得到同样的奇怪行为.
我想出来的方法是分别创建两个具有相同名称的视图控制器和具有相同名称的引用插座的新项目.我从来没有复制任何东西,但Xcode显示有人引用了另一个.就像我说的,忽略小圆圈.
除非 xib 文件位于项目中。它不应该有指向它的链接。
xib 文件连接到 .h 文件。不是相反。
您可能需要删除故事板中的连接并重新连接它们。
还要确保故事板是正在启动的 UI,并且导航堆栈上的项目实际上是故事板页面。但是您应该能够同时将故事板和 xib 文件连接到类。您不能将一个 IBOutlet 连接到单个 ui 组件中的多个对象(例如,故事板上的两个按钮不能同时连接到@property IBOutlet UIButton *myCurrentButton您必须为每个连接拥有一个单独的 IBOutlet。另一方面,可以连接任意数量的操作到 IBAction。这就是你执行(id) sender每个操作的原因。
我不知道这是否正是您所经历的,但我希望理解可以帮助您调试问题。
| 归档时间: |
|
| 查看次数: |
3660 次 |
| 最近记录: |