Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在核心数据中以编程方式创建超级/子类?_Objective C_Cocoa_Core Data - Fatal编程技术网

Objective c 如何在核心数据中以编程方式创建超级/子类?

Objective c 如何在核心数据中以编程方式创建超级/子类?,objective-c,cocoa,core-data,Objective C,Cocoa,Core Data,我的核心数据模型中有一个名为a、B、C的实体的泛化,比如说,a是一个包含子实体B和C的超类 A不是抽象的,所以如果我创建一个NSManagedObject,我需要创建并关联一个B或C子类对象。我该如何做到这一点?我可以创建实体,但如何告诉模型对象B是对象a的子类(反之亦然?) 注意:我确实以编程方式创建了模型,并且为实体描述“A”正确设置了子实体 这是我前进的可悲尝试。有什么想法吗?如果你能告诉我做这项工作的代码示例,我会得到额外的分数。谢谢 NSEntityDescription *aEnti

我的核心数据模型中有一个名为a、B、C的实体的泛化,比如说,a是一个包含子实体B和C的超类

A不是抽象的,所以如果我创建一个NSManagedObject,我需要创建并关联一个B或C子类对象。我该如何做到这一点?我可以创建实体,但如何告诉模型对象B是对象a的子类(反之亦然?)

注意:我确实以编程方式创建了模型,并且为实体描述“A”正确设置了子实体

这是我前进的可悲尝试。有什么想法吗?如果你能告诉我做这项工作的代码示例,我会得到额外的分数。谢谢

NSEntityDescription *aEntity = [[model entitiesByName] objectForKey:@"A"];
NSEntityDescription *bEntity = [[model entitiesByName] objectForKey:@"B"];

A *newA = [[A alloc] initWithEntity:aEntity insertIntoManagedObjectContext:context];
B *newB = [[B alloc] initWithEntity:ATC_Entity insertIntoManagedObjectContext:context];

感谢cocoadev小组回答我的问题 和

基本上,只需将子实体插入到模型中,超级实体就会神奇地出现。如果对
NSManagedObjects
进行子类化,则需要声明要访问的任何属性