从父实体获取核心数据实体

时间:2010-03-04 21:16:57

标签: core-data nspredicate

我正在尝试从核心数据中的实体检索数据,我知道相关实体的价值。

IE:
ENTITY1
-attrib1.1
-attrib1.2
-relationship1

ENTITY2
-attrib2.1
-relationship1

Entity1与relationship1上的Entity2有很多关系。

我正在尝试获取Entity2的值,其中Entity1.attrib1.1 = XXX。

我尝试使用NSPredicate,但我不确定如果可能的话,如何在predicateWithFormat方法中编写语法。

如果这没有意义,抱歉。如果需要,我会尽力清理。

我搜索了谷歌和这里,但没有找到任何东西。也许我的眼睛在放弃? ;)

1 个答案:

答案 0 :(得分:4)

认为您正在尝试查找Entity2的实例,其中Entity1.attrib1.1==XXXEntity1.relationship1包含对Entity2实例的引用。根据您的描述,我不清楚Entity2.relationship1是否与Entity1.relationship1相反。如果没有,你真的应该创建反向关系并在数据建模器中设置它。除非你真的知道你在做什么并且确定你不需要反向关系,否则除非存在反向关系,否则Core Data将无法按预期工作。

Entity2Entity1之间存在反比关系(为了示例,我们称之为inverseRelationship),您可以使用Entity2NSPredicate执行获取请求inverseRelationship.attrib1.1 == XXX 实例,格式为字符串

ANY inverseRelationship.attrib1.1 == XXX

如果逆是一对一的关系或

{{1}}

如果逆也是多对多关系。