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

Posted

技术标签:

【中文标题】如何在核心数据中以编程方式创建超类/子类?【英文标题】:How to create super/subclass programmatically in core data? 【发布时间】:2009-09-16 17:46:31 【问题描述】:

我的核心数据模型中包含名为 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];

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何在核心数据中以编程方式创建超类/子类?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中以编程方式旋转一组按钮?

如何使用 php 代码在 WHM/Cpanel 中以编程方式创建数据库?

如何在 UITableView Cell 中以编程方式创建 n 个 UIButton?

如何在 SwiftUI 中以交互方式按年份过滤日期列表

如何在 Android 上的 TabLayout 中以编程方式添加选项卡

在android中以编程方式创建视图时如何传递AttributeSet