iPhone开发——使用CoreData查询相关记录
Posted
技术标签:
【中文标题】iPhone开发——使用CoreData查询相关记录【英文标题】:iPhone Development - Query related records using CoreData 【发布时间】:2010-04-12 07:03:56 【问题描述】:我有一个案例,我有三个具有一对多和一对多关系的实体:
Entity A (Entity B relationhip),
Entity B (Entity A relationship, Entity C relationship),
Entity C (Entity B relationhip)
我有实体 A 的引用,现在我想获取所有相关的实体 C 记录。我怎样才能做到这一点? (代码量最少)
编辑:这是另一种说法。
我们可以使用 CoreData 执行连接吗?例如,(这是一个非常粗略的例子),我们有以下实体关系:
Grand Parent (1)---(m) Parent
Parent (1)---(m) Child
那么,现在如果我有“阿尔伯特”祖父母,我想得到他所有的孙子,我该怎么做?
【问题讨论】:
【参考方案1】:如果其他人遇到类似情况,这对我有用:
NSArray *allFieldValues = [myEntityA valueForKeyPath:@"Entity B relationship.Entity C relationship.requiredFieldInEntityC"];
我主要感兴趣的是读取实体 C 中单个字段的数据(链接到 myEntityA 对象)。这里的关键概念是“不要将 CoreData 视为‘数据库’”。
【讨论】:
以上是关于iPhone开发——使用CoreData查询相关记录的主要内容,如果未能解决你的问题,请参考以下文章
iPhone CoreData:如何按天对获取的结果进行分组?