0

我有 3NSManagedObjet秒;人、物和收藏。

在此处输入图像描述

我想使用 aNSPredicate来获取所有Collections的列表ThePerson

示例:Scott 的 objectA 和 objectB 位于 Letters 集合中,object1 位于 Numbers 集合中。

我希望能够执行获取请求并取回收集的字母和数字。

我试过了:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY stuffs.persons == %@", person];

和:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(stuffs, $s, ANY $s.persons == %@)", scott];

有什么建议么?

4

2 回答 2

1

Your SUBQUERY syntax is wrong (for a full explanation, see this answer or this answer). It should be something like:

SUBQUERY(stuffs, $s, ANY $s.persons == %@).@count > 0
于 2013-08-28T22:13:42.517 回答
1

由于您似乎已经拥有对ThePerson对象的引用,因此您无需进行提取或使用谓词。您可以遍历已声明的关系以获取集合。您可以使用以下方法获取所有Collections ThePerson

NSSet *collections = [person valueForKeyPath:@"stuffs.collections"];
于 2013-08-28T22:28:26.453 回答