在NSManagedObject子类中重复的符号错误
我只是用Core Data创build了一个演示项目。
我在我的数据模型中创build了一个实体Userinfo
。 现在我创build了这个实体的一个NSManagedObject
子类。
Xcode自动生成了这4个类。
现在当我build立这个项目时,会抛出这个错误:
我已经尽我所知去除重复的错误,但没有任何帮助。
我认为它是一个Xcode错误。 请帮忙。
您正在生成Xcode已经为您生成的文件,从而得到重复的声明。 有关此function的详细信息(Xcode 8中的新增function)可以在此WWDCvideo中find。
两个可能的修复:
1)使用Xcode生成的ManagedObject
子类(推荐的,现代的方法)
- 如果存在,从您的项目中删除所有生成的NSManagedObject子类。
- 在所有实体的
.xcdatamodel
设置为Class Definition
- 确保
Module
是空的(“全局命名空间”,浅灰色)(解决苹果的错误,看到这个答案 )
- 清洁项目
- 清理DerivedData文件夹 (可选,要保存)
- build立
注意:
切勿将自动生成的文件添加到您的项目中。 即使你没有看到你的项目中生成的文件,Xcode有一个引用,所以你可以写扩展等。 例如:
extension MyEntity { func doSomething() { // } }
此外,你可以命令+点击Xcode中生成的文件。
2)手动触发子类的生成(一个相当偏执但bullet – certificate的方法,忽略新的Xcodefunction)
- 如果存在,从您的项目中删除所有生成的NSManagedObject子类。
- 在所有实体的
.xcdatamodel
设置为Manual/None
- 清洁项目
- 清理DerivedData文件夹
- 重新启动Xcode
- 手动生成
NSManagedObject
子类(在“编辑器”菜单中) - 确保这些文件已添加到您的项目
- build立