从关系中获取请求 CoreData

Fetch request CoreData from relationship

是这样的情况,我在CoreData中有两个实体。

这就是它们之间的关系:

我想要的最终结果是这样的...

Fetch questions WHERE chapter = <some> and (LAST) answer.correct = YES

我是核心数据的新手,现在我正在做很多步骤,但我想知道我是否可以只用一个 NSFetchedResultsController 而不过滤数组来实现这一点。

非常感谢您的帮助!

试试这个谓词。可能对你有用。

  NSPredicate *predicate = [NSPredicate predicateWithFormat:@"chapter = '%@' AND answer[LAST].correct=TRUE",chapterName];

有点绕,但我想下面会得到你想要的:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"chapter like %@ AND (SUBQUERY(answer, $t, $t.correct == YES).date.@max = SUBQUERY(answer, $t, $t.correct IN {YES, NO}).date.@max)"];

检查正确答案的最大日期是否等于所有答案的最大日期。