【问题标题】:How to create super/subclass programmatically in core data?如何在核心数据中以编程方式创建超类/子类?
【发布时间】:2024-08-22 05:40:02
【问题描述】:

我的核心数据模型中包含名为 A、B、C 的实体,假设 A 是具有子实体 B 和 C 的超类。

A 不是抽象的,所以如果我创建一个 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];

【问题讨论】:

    标签: objective-c cocoa core-data


    【解决方案1】:

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

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

    【讨论】:

      最近更新 更多