【发布时间】:2021-04-14 03:22:54
【问题描述】:
我需要 1 个核心数据获取请求的帮助。我有 2 个实体
- 部门
- 学生(具有分数属性) 所以该系可以有多个学生。 现在我想从不同部门获取得分最高的每个学生。 我已经查询了分数排序。但希望每个(独特的)部门的唯一学生
let fetchRequest:NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName: "Students")
let sortDescriptor = NSSortDescriptor(key: "scores", ascending: false)
fetchRequest.fetchBatchSize = 50
fetchRequest.includesSubentities = true
请提出建议,我们如何找到每个部门中得分最高的学生。
现在很遗憾,我无法将结果类型用作NSDictionaryResultType,因为我正在 NSFetchedResultsController 中获取数据。但是想要像@distinctUnionOfObjects 这样的东西。
[students valueForKeyPath:@"@distinctUnionOfObjects.department"]
预期输出
- 罗宾(法律)74
- 斯蒂芬(数学)98
- 约翰(计算机科学)95
- 蒂姆(电子)90
- 约翰逊(经济学)80
【问题讨论】:
-
问题是什么?
-
@zeytin 问题已更新
-
@JoakimDanielson 这个有性能问题
标签: ios swift core-data nsfetchedresultscontroller