我为我的项目创建了一个全新的核心数据模型,我想为其创建一些NSManagedObject子类。生成子类后,XCode引发一些错误,这些错误引用了指向/DerivedData
文件夹的路径。请参阅下面的步骤和错误图片:
我已经尝试过清理建筑,清除DerivedData文件夹,所有这些事情。我也尝试过手动创建生成的文件,但仍然遇到相同的错误。有没有人设法解决这个问题?
答案 0 :(得分:6)
以下是您与核心数据有关的问题的解决方案
根据您的第一个屏幕截图,您可以在右侧的 Class 下看到名为 Codegen 的字段,打开该下拉菜单,然后选择 Manual / None 从编辑器->创建NSManageObject子类再次生成文件,问题将得到解决。
答案 1 :(得分:0)
在对我的DataModel进行大量编辑之后,我遇到了同样的问题。我所有的实体都使用Codegen Category / Extension 和子类,突然我得到了一个神秘的错误:
错误:多个命令产生'/Library/Developer/Xcode/DerivedData/MyApp-futvjnnhiceyibabpbzhxltebhoq/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/MyApp/MyEntity+CoreDataProperties.m' :
- 目标“ MyApp”(项目“ MyApp”):DataModelCodegen / Users / elisevanlooij / Documents / Project MyApp / MyApp / MyApp / MyApp.xcdatamodeld
- 目标“ MyApp”(项目“ MyApp”):DataModelCodegen / Users / elisevanlooij / Documents / Project MyApp / MyApp / MyApp / MyApp.xcdatamodeld
两天后,我发现问题所在:实体名称和实体类名称在DataModel中不再匹配,迫使Codegen为一个实体生成两个扩展名,一旦我解决了这个问题,就将应用程序的Intermediates文件夹丢到〜/中Library / Developer / Xcode / DerivedData,然后执行“产品”>“清理构建文件夹”,一切重新编译精美。
该错误消息在技术上是正确的,但无济于事。 DataModel接口应在发生这种情况时立即对其进行标记,但是人们只能梦想苹果会适当注意Core Data的一天。