我正在使用CoreData,处理名为“RoleName”的实体。
问题是:当我从模型内部单击“创建NSManagedObject子类”时,它会自动为我的实体创建类。
然而,在类的声明中,我遇到了这个错误:
无效的重新声明“RoleName”
尽管我没有任何其他同名的类。
我正在使用CoreData,处理名为“RoleName”的实体。
问题是:当我从模型内部单击“创建NSManagedObject子类”时,它会自动为我的实体创建类。
然而,在类的声明中,我遇到了这个错误:
无效的重新声明“RoleName”
尽管我没有任何其他同名的类。
来自苹果公司:Core Data 有哪些新变化
Xcode 自动生成子类
Xcode 现在支持在建模工具中自动生成 NSManagedObject 子类。在实体检查器中:
手动 / 无 是默认设置和以前的行为;在这种情况下,您应该实现自己的子类或使用 NSManagedObject。 类别 / 扩展 会生成一个类扩展,文件名为 ClassName+CoreDataGeneratedProperties。您需要声明 / 实现主类(如果是 Obj-C,则通过扩展可以导入名为 ClassName.h 的头文件)。 类定义 会生成子类文件,文件名为 ClassName+CoreDataClass,以及为类别 / 扩展生成的文件。
生成的文件放置在 DerivedData 中,并在保存模型后第一次构建时重新生成。它们也被 Xcode 索引,因此可以通过命令单击引用并通过文件名快速打开。
您无需手动创建 NSManagedObjects
的子类。
我建议您删除使用 NSManagedObjects
创建的文件(将它们移到废纸篓中),然后在数据模型检查器下的每个实体中选择 Codegen
:手动 / 无,并创建子类。