我正在尝试从核心数据中的实体检索数据,我知道相关实体的价值。
IE:
ENTITY1
-attrib1.1
-attrib1.2
-relationship1
ENTITY2
-attrib2.1
-relationship1
Entity1与relationship1上的Entity2有很多关系。
我正在尝试获取Entity2的值,其中Entity1.attrib1.1 = XXX。
我尝试使用NSPredicate,但我不确定如果可能的话,如何在predicateWithFormat方法中编写语法。
如果这没有意义,抱歉。如果需要,我会尽力清理。
我搜索了谷歌和这里,但没有找到任何东西。也许我的眼睛在放弃? ;)
答案 0 :(得分:4)
我认为您正在尝试查找Entity2
的实例,其中Entity1.attrib1.1==XXX
和Entity1.relationship1
包含对Entity2
实例的引用。根据您的描述,我不清楚Entity2.relationship1
是否与Entity1.relationship1
相反。如果没有,你真的应该创建反向关系并在数据建模器中设置它。除非你真的知道你在做什么并且确定你不需要反向关系,否则除非存在反向关系,否则Core Data将无法按预期工作。
从Entity2
到Entity1
之间存在反比关系(为了示例,我们称之为inverseRelationship
),您可以使用Entity2
对NSPredicate
执行获取请求inverseRelationship.attrib1.1 == XXX
实例,格式为字符串
ANY inverseRelationship.attrib1.1 == XXX
如果逆是一对一的关系或
{{1}}
如果逆也是多对多关系。