2009-09-16 23 views
0

我在我的核心数据模型中推广了一些名为A,B,C的实体让我们假设其中A是一个超类B和C的子类。如何以编程方式在核心数据中创建超级/子类?

A不是抽象的,所以如果我创建一个A NSManagedObject,我需要创建并关联一个B或C子类对象。我如何做到这一点?我可以创建实体,但是如何告诉模型对象B是对象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]; 

回答

0

得益于cocoadev组回答我的问题herehere

基本上你只是将子实体插入到你的模型中,超自然会奇迹般地弹出存在。如果您继承NSManagedObjects,则需要声明您想要访问的任何属性。

相关问题