我正在使用名为“RoleName”的实体上的Core Data。
问题是:我在我的模型中单击“Create NSManagedObject subclass”,因此它会自动为我的实体创建类。
但是,在类的声明中,我收到此错误:
无效的“RoleName”重新声明
即使我没有任何其他同名的班级。
来自Apple:Whats new in Core Data
Xcode自动子类生成
Xcode现在支持在建模工具中自动生成NSManagedObject子类。在实体检查员中:
手动/无是默认和以前的行为;在这种情况下,您应该实现自己的子类或使用NSManagedObject。类别/扩展在名为ClassName + CoreDataGeneratedProperties的文件中生成类扩展。您需要声明/实现主类(如果在Obj-C中,通过标头扩展可以导入名为ClassName.h)。 “类定义”生成名为ClassName + CoreDataClass的子类文件以及为“类别/扩展”生成的文件。
生成的文件放在DerivedData中,并在保存模型后在第一个版本上重建。它们也被Xcode索引,因此命令单击引用并按文件名快速打开。
您无需为NSManagedObjects
手动创建子类。
我建议您删除使用NSManagedObjects
创建的文件(将它们移动到废纸篓)并转到Codegen
选择下的DataModel检查器中的每个实体:Manual / None
并创建比子类。