我非常接近对此进行杀戮,所以如果有人可以帮助我,可能会挽救一些生命......
我有一个相当复杂的CoreData模型,它总是有一个名为Anchor的实体。我最近决定不需要几个属性,所以我从模型中删除它们,然后在旧的顶部生成新的NSManagedObject文件。然后一切都崩溃了。
最初的编译错误是针对Anchor的重复定义,这让我感到困惑。之前我遇到过这个错误,因为我意外地包含了一个.m文件,因此我搜索了我的项目以获取对Anchor.m的任何引用。什么都没有。
我尝试删除了Anchor.h和.m文件以便我可以看到发生了什么但是没有得到一堆编译错误“找不到Anchor.h”它编译好了直到链接然后抱怨它找不到Anchor.m。我做了一个干净,然后重建,仍然得到了同样的错误。重置Mac。同样的错误。
我现在已经在模型中重命名了实体,并为此重新生成了一组新文件。我已经替换了对头文件的所有引用并更改了所有类引用。它仍然在寻找Anchor.m。我搜索了整个Mac并重命名了我找到的任何Anchor.h和Anchor.m的副本。我在Mac上大声喊叫......我开始对此失去理智......
在某个地方,不知何故,编译器在它的头脑中需要编译根本不存在的文件。我已经搜索了xcode .xcodeproj文件并删除了对锚点的任何引用。拜托,拜托,请有人告诉我这个该死的文件参考在哪里,所以我可以消灭它并回去让这个项目完成......
答案 0 :(得分:4)
假设您已在project.pbxproj文件中删除了对Anchor.h / .m的每个引用,另外要尝试的另一件事是核对DerivedData文件夹。它可以在几个不同的位置,这取决于你如何设置Xcode 4(我在〜/ Builds / Xcode4 / DerivedData有我的),但该文件夹存储了一堆与你的项目相关的中间/缓存文件,并且在极少数情况下,它将被破坏,导致项目构建错误,或破坏代码完成。