Ios NSPredicate筛选器关系

Ios NSPredicate筛选器关系,ios,swift,core-data,nspredicate,Ios,Swift,Core Data,Nspredicate,我在项目中使用CoreData和NSFetchedResultsController。我有两个实体学校和学生,一对多关系。。一所学校可以有多个学生 我尝试按学校名称筛选学校,然后按年级筛选学生,这样我得到的筛选学校只包含与特定年级匹配的学生 let fetchRequest = NSFetchRequest<School>(entityName: "School") let predicate = NSPredicate(format: "name = %@ AND

我在项目中使用CoreData和NSFetchedResultsController。我有两个实体学校和学生,一对多关系。。一所学校可以有多个学生

我尝试按学校名称筛选学校,然后按年级筛选学生,这样我得到的筛选学校只包含与特定年级匹配的学生

    let fetchRequest = NSFetchRequest<School>(entityName: "School")
    let predicate = NSPredicate(format: "name = %@ AND ANY students.grade","School 2", "F")
let fetchRequest=NSFetchRequest(entityName:“学校”)
let predicate=NSPredicate(格式:“name=%@和任意学生.年级”,“学校2”,“F”)
上述谓词代码的问题是,它返回所有学生的“School 2”,而只有一个学生的成绩为“F”


我需要一个学校实体,该实体应仅包含成绩为“F”的学生。

您获取的学校对象将始终提供其关系中与您获取对象的方式无关的所有值。你能做的就是过滤学生。所以你有一套
学校。学生
,然后再做一套,只包含不及格的学生。因为学生的过滤在内存中,所以您不仅限于核心数据属性,还可能会稍微慢一点