2016-09-23 27 views
1

我删除了Core Data从数据模型生成的Objective-C文件,所以我可以回到我生成的swift文件在Xcode 7中。当删除文件时,我将文件移动到垃圾箱,并将swift文件添加回项目。我正在使用Xcode 8.0。我从项目中删除了一些核心数据生成的文件,但Xcode仍然试图编译它们

我得到的错误是

"error: no such file or directory", for the missing files, one of which is Luna.build/DerivedSources/CoreDataGenerated/Luna/.LunaObservation+CoreDataClass.m. There are corresponding errors for LunaObservation+CoreDataProperties.m and LunaOrbit+CoreDataClass.m, but not LunaOrbit+CoreDataProperties.m.

我不会在构建阶段的编译源代码查看文件的名称。我试过清理项目并删除派生的数据,但没有成功。

更新:我终于想出了如何生成Swift文件而不是Objective-C文件,但是我仍然收到错误,它正在寻找已删除的Objective-C文件。

更新#2:在清理项目和删除整个派生数据文件后,我能够减少错误的数量;我不再为缺少的.m和.h文件获取错误,但是我确实收到了关于两个丢失文件的单个错误:.Orbit + CoreDataProperties.swift和.Observation + CoreDataProperties.swift。这些文件存在,但它们没有名称前的句号。试图将句号添加到文件名称会导致“重命名失败”消息。这两个文件在没有导入任何内容的其他文件之后有一个额外的“导入” - 该行刚刚结束。

该帖子XCode 8 generates broken NSManagedObject subclasses for iOS 10显示了我遇到的问题。

+0

相同:

enter image description here

甲更详细的反应可以在这里找到。卡住 – zumzum

回答

1

在数据模型检查器中,尝试将模块选项设置为“当前产品模块”(而不是全局命名空间)。这会将句点添加到生成的NSManagedObject子类名称中。

enter image description here

您可以通过查看配置部分中看到这个动作的结果。班级名称将以句点为前缀。这里https://stackoverflow.com/a/40647786/4748172

相关问题