iPhone核心数据得到孙子
Posted
技术标签:
【中文标题】iPhone核心数据得到孙子【英文标题】:iPhone Core Data get Grandchildren 【发布时间】:2010-08-22 15:49:39 【问题描述】:如果我为父 - 子 - 孙设置了实体以及它们之间的一对多关系,我知道我可以获取父的所有子实体或子的所有孙实体。
是否可以运行 fetch 以获取给定父级的所有 Granchild 实体?
感谢您的帮助!
【问题讨论】:
【参考方案1】:如果每个对多关系都没有反向关系,则不,您无法运行您描述的获取请求。但是,您应该对反向关系进行建模。 CoreData 使用逆来保持对象图的一致性。给定从Child
到Parent
和Grandchind
到Child
的parent
关系,您可以这样做
Pareint *aParent; //already initialized
NSSet *allGrandchildren = [aParent valueForKeyPath:@"children.@unionOfSets.children"];
或对Grandchild
实体的获取请求,带有谓词:
[NSPredicate predicateWithFormat:@"parent.parent == %@", aParent];
【讨论】:
以上是关于iPhone核心数据得到孙子的主要内容,如果未能解决你的问题,请参考以下文章