iPhone开发 - 使用CoreData查询相关记录

时间:2010-04-12 07:03:57

标签: iphone core-data nspredicate nsfetchrequest

我有一个案例,我有三个具有一对多和一对多关系的实体:

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 个答案:

答案 0 :(得分:1)

如果其他人遇到类似情况,这对我有用:

NSArray *allFieldValues = [myEntityA valueForKeyPath:@"Entity B relationship.Entity C relationship.requiredFieldInEntityC"];

我主要感兴趣的是读取实体C中的单个字段的数据(链接到myEntityA对象)。这里的关键概念是“不要将CoreData视为'数据库'”。