如果代码生成被设置为“类定义”,然后你可以导入实体NSManagedObject
子头文件。
导入:
#import "Tag+CoreDataClass.h"
那么你Tag
对象的创建将被识别。
Tag *tag = [NSEntityDescription insertNewObjectForEntityForName:@"Tag" inManagedObjectContext:[self managedObjectContext];
tag.name = @"Tag Name";
注:如果你想看到代表您生成的文件,你可以检查DerivedData文件夹为您的项目。您不应该编辑这些文件或将它们导入到您的项目中。
喜欢的东西:
/Users/{Username}/Library/Developer/Xcode/DerivedData/{Your Project Name}/Build/Intermediates/{Your Project Name}.build/Debug-iphonesimulator/{Your Project Name}.build/DerivedSources/CoreDataGenerated/{Your Project Name}/
有迹象表明,提供取决于你的使用情况不同选择其他代码生成选项:
- 无/手动:允许你管理自己的
NSManagedObject
子类。使用此选项,您将看到项目中的文件,并且可以修改它们。
- 类别/扩展:允许您拥有不希望核心数据管理的自定义属性(属性)。
我张贴关于代码生成选择这里更详细的解答:https://stackoverflow.com/a/40647786/4748172
如果你在你的项目中打开你的'xcdatamodeld'文件,并选择你的“标签”的实体,什么是所选择的代码生成选项?如果它被设置为“manual/none”,那么当你构建你的项目时,NSManagedObject的子类将不会被生成。 –
如果它被设置为“类定义”,那么当您构建项目时将为您生成“NSManagedObject”子类,但它们不会显示在您的项目中。 –
@RyanH。它被设置为“Class Defintion”。如果它在项目中,我如何访问它们?我在选项中选择了全局命名空间,所以我想我可以只说标签并将它显示为一个类。我需要在头文件中导入一些东西吗? – SolidSnake4444