我在我的项目中使用CoreData和NSFetchedResultsController。我有两个实体学校&学生,一对多的关系......学校可以有多个学生。
我试图按学校名称过滤学校,然后按年级过滤学生,以便我获得一个过滤学校,其中只包含符合特定年级的学生。
let fetchRequest = NSFetchRequest<School>(entityName: "School")
let predicate = NSPredicate(format: "name = %@ AND ANY students.grade","School 2", "F")
上面提到的谓词代码的问题在于它返回了一个&#34; School 2&#34;与所有学生一起,而只有一名学生有#34; F&#34;级。
我需要一个学校实体,该实体只应包含学生&#34; F&#34;级。
答案 0 :(得分:0)
您获取的学校对象将始终提供其与您获取对象的方式无关的所有值。你能做的就是过滤学生。所以你有一套school.students
和第二套,只包含失败的学生。因为学生的过滤是在内存中,所以你不仅限于核心数据属性,但它也可能有点慢。