假设我有 2 个核心数据实体。一个学生实体和一个班级实体。对于这个例子,一个学生正好在一个班级,一个班级可以有很多学生。
我们还假设这些是大类。也就是说,每个班级有 1000 名学生。
Class 实体如下所示:
NSString* name
NSArray* students
和学生实体:
NSString* name
Class* class
NSString* grade
在我的 UI 中,我想显示一个类。我想显示具有特定成绩的学生数量。即对于一个有 1000 名学生的班级,50 人获得 A,500 人获得 B,200 人获得 C……以此类推。
从 Core Data 获取这些计数的最有效方法是什么?
我是最新的;y 使用 NSFetchedResultsController 并将其传递给 group by + count 查询的获取请求。我正在使用 NSFetchedResultsController 以便 UI 会随着具有特定成绩的学生数量的变化而更新。虽然它很慢。
有没有办法在不查询的情况下获取这些信息?即,当学生被添加到班级或他们的成绩发生变化时,班级上的一个属性会更新所有的成绩计数。所以当我想要计数时,它们只是类的一个属性,不需要查询。
是否可以?