繁体   English   中英

从关系中获取请求CoreData

[英]Fetch request CoreData from relationship

这种情况,我在CoreData中有两个实体。

  • 问题(第章:int,答案:数组)
  • 答案(日期,正确:布尔)

它们是如何关联的:

  • 问题实体具有其所属章节和该问题的答案历史记录(即关系)。
  • 答案实体知道问题何时被回答以及它是否正确。
  • 一个问题有很多答案。

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

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)"];

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM