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

时间:2009-09-16 17:46:31

标签: objective-c cocoa core-data

我的核心数据模型中有一个概括,实体名为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];

1 个答案:

答案 0 :(得分:0)

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

基本上你只是将子实体插入你的模型中,并且超级神奇地神奇地存在。如果您继承了NSManagedObjects,则需要声明要访问的任何属性。