首页 > 解决方案 > CoreData 对象以正确的顺序获取,但嵌套对象是无序的

问题描述

Person我有以下代码从 CoreData 模型中获取对象:

let fr:NSFetchRequest<Person> = Person.fetchRequest()
let sd = NSSortDescriptor(key: "name", ascending: false)
fr.sortDescriptors = [sd]
let persons = try? dataController.context.fetch(fr)

这很好用,我得到了一个[Person]正确顺序的数组(按名称)。

let children = persons[0].children    // children set is in random order

但是,每个人都有多个Child对象。这些是使用 each 自动获取的Person,但是,这些Child对象没有排序。它们以随机顺序出现。

如何控制Child获取这些对象的顺序?

编辑:我知道我可以在从 CoreData 获取后手动订购嵌套对象,但我不愿意这样做,因为这样做效率不高,并且会导致所有子对象出现故障。我正在寻找一种让 CoreData 以特定顺序获取子对象的方法。

标签: swiftcore-datansfetchrequest

解决方案


推荐阅读