代码之家  ›  专栏  ›  技术社区  ›  Mustafa

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

  •  0
  • Mustafa  · 技术社区  · 16 年前

    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 回复  |  直到 16 年前
        1
  •  1
  •   Mustafa    16 年前

    如果其他人遇到类似情况,以下是对我有效的方法:

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

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