NSPredicate查询子集和“足够关闭”子集

时间:2011-09-18 20:57:10

标签: objective-c ios core-data nspredicate

一般来说是NSPredicates和核心数据的新手,所以试图抓住我的头脑需要做以下事情:

我有两个具有多对多关系的实体:

MyContainerEntity包含与MyObjectEntity的多对多关系。

MyObjectEntity的列表是:A,B,C,D,E,F

MyContainerEntity由以下内容组成:

Container1 - A, B, C
Container2 - B, C, D
Container3 - A, B, D
Container4 - A, D, F

也就是说,Container1包含与MyObjectEntity A,B和C等的关系。

我想在MyObjectEntity列表中发送一个查询,并返回该列表子集的所有MyContainerEntity个对象。

例如:

(A,B,D,F)将返回Container3和Container4。

然后跟进会得到一些“接近”的错误值。说只丢失一个对象。例如:

(A,B)将返回Container1和Container3

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

要解决问题的第一部分,您是否尝试过定义谓词,例如:

ALL objects IN $OBJECTS_PARAM

其中OBJECTS_PARAM值是一个通过“predicateWithSubstitutionVariables”参数传递给评估的数组或集合?

对于后续问题,我不确定是否可以直接在谓词中。看起来在代码中手动实现这样的查询似乎更好,而不是依靠NSPredicate来实现。