对CoreData类重新声明无效

我正在使用CoreData,名为“RoleName”的实体。

问题是:我从我的模型中点击“创buildNSManagedObject子类”,所以它会自动为我的实体创build类。

但是,在这个类的声明上,我得到这个错误:

无效的“RoleName”重新声明

即使我没有任何其他同名的class级。

这是因为Xcode自己处理所有这些。 由于自动生成的类没有我所有的属性,所以感觉有点麻烦。

所以请按照以下步骤来获取它:

  • 删除已经为核心数据创build的类。
  • 将class.Module设置为当前产品模块 在这里输入图像说明

  • 将Class.codegen设置为Manual / None

在这里输入图像说明

  • 现在select你的实体并创buildNSmanagedobject子类 在这里输入图像说明

  • 你们都定了

来自苹果: 核心数据有什么新意

Xcode自动子类生成

Xcode现在支持在build模工具中自动生成NSManagedObject子类。 在实体检查员:

手动/无是默认的,以前的行为; 在这种情况下,您应该实现自己的子类或使用NSManagedObject。 Category / Extension在一个名为ClassName + CoreDataGeneratedProperties的文件中生成一个类扩展。 您需要声明/实现主类(如果在Obj-C中,通过扩展名可以导入的名称为ClassName.h)。 类定义生成名为ClassName + CoreDataClass的子类文件以及为Category / Extension生成的文件。

生成的文件放置在DerivedData中,并在保存模型后在第一个版本上重新生成。 他们也被Xcode索引,所以命令点击引用和快速打开文件名工程。

您不需要手动创buildNSManagedObjectsNSManagedObjects

我build议你删除使用NSManagedObjects创build的文件(将它们移动到废纸篓),然后转到Codegen下的DataModel Inspector中的每个实体: Manual / None然后创build子类。