我正在使用CoreData,在名为" RoleName"。
的实体上问题是:我点击"创建NSManagedObject子类"从我的模型中,它自动为我的实体创建类。
但是,在类的声明中,我收到此错误:
" RoleName"
的重新声明无效
即使我没有任何其他同名的课程。
答案 0 :(得分:124)
这是因为Xcode自己处理所有这些。我觉得这有点麻烦,因为自动生成的课程没有我所有的属性。
因此,请按照以下步骤进行操作:
答案 1 :(得分:13)
来自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
并创建比子类。