我有一个表格Student,其中有两个属性Name和DateOfBirth。 我想在UITableView中按其DateOfBirth的降序显示学生的姓名,该日期在列表的顶部是年轻的,在列表的底部是年长的。
我创建了一个FetchRequest来获取所有学生并按其DateOfBirth的降序显示。
let studentFetchRequest = Student.fetchRequest()
let dateSortDescriptor = NSSortDescriptor(key: #keyPath(Student.dateOfBirth), ascending: false)
studentFetchRequest.sortDescriptors = [dateSortDescriptor]
let frc = NSFetchedResultsController<Student>(fetchRequest: studentFetchRequest, managedObjectContext: managedContext, sectionNameKeyPath: nil, cacheName: nil)
frc.performFetch()
现在,我有一个要求,我只需要显示最后15名学生。考虑到学生表有50条记录。
我尝试将sortDescriptor的ascending属性更改为true,并将15的fetchLimit添加到我的studentFetchRequest中,以仅获取最后15个学生。
它获取了最后15名学生,但是却颠倒了他们在UITableView中列出的顺序。即年龄较大的学生在顶部,年龄较小的在底部。
如何修改fetchRequest并仍然能够使用FetchedResultsController显示我的UITableView
中的最后15名学生?
我需要使用FetchedResultsController,因为实际表非常复杂,我已简化了问题的解释范围。