如何在核心数据中以编程方式创建超类/子类?
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
子类化,则需要声明要访问的任何属性。
【讨论】:
以上是关于如何在核心数据中以编程方式创建超类/子类?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 代码在 WHM/Cpanel 中以编程方式创建数据库?
如何在 UITableView Cell 中以编程方式创建 n 个 UIButton?