首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用多个排序描述符编写NSFetchRequest?

如何使用多个排序描述符编写NSFetchRequest?
EN

Stack Overflow用户
提问于 2019-12-25 13:56:04
回答 1查看 715关注 0票数 2

我有一个Student实体,它有一个dateOfBirth属性。

我想按出生日期的升序从Student实体中提取所有学生,但按月份的递减顺序分组。

例如:同月的学生按升序分组,但所有的组都是降序的。

第1节:2019年12月

-学生1:道布-2019年12月1日

-学生2:道布-2019年12月2日

-学生3:道布-2019年12月3日

第2款:2019年11月

-学生1:道布-2019年11月1日

-学生2:道布-2019年11月2日

-学生3:道布-2019年11月3日

第3款:2019年10月

-学生1:道布-2019年10月1日

-学生2:道布-2019年10月2日

-学生3:道布-2019年10月3日

是否可以编写一个NSFetchRequest来支持这个查询?我必须使用NSFetchResultsController来填充UITableView,但是我无法编写获取请求。

要根据学生的dateOfBirth进行分组,我有一个额外的属性,即带有dateFormat yyyyMMyearMonthString。我使用yearMonthString属性对学生进行分组。

代码语言:javascript
复制
let studentFetchRequest: NSFetchRequest<Student> = Student.fetchRequest()
studentFetchRequest.predicate = NSPredicate(format: "%K != nil AND %K != nil", #keyPath(Student.dateOfBirth), #keyPath(Student.yearMonthString))

let dateSortDescriptor = NSSortDescriptor(key: #keyPath(Student.dateOfBirth), ascending: false)
studentFetchRequest.sortDescriptors = [dateSortDescriptor]

let frc = NSFetchedResultsController<Student>(fetchRequest: studentFetchRequest,
                                              managedObjectContext: managedContext,
                                              sectionNameKeyPath: #keyPath(Student.yearMonthString),
                                              cacheName: nil)

如果我给dateSortDescriptor作为提升,那么所有的部分也都成为提升,如果我给dateSortDescriptor降序,那么该部分中的学生就会下降。

写这个提取请求的正确方法是什么?是否可以为各节提供不同的排序描述符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-25 16:48:42

使用两个排序描述符,一个用于按年份/月份进行排序(降序),另一个用于按出生日期进行排序(上升):

代码语言:javascript
复制
let groupSortDescriptor = NSSortDescriptor(key: #keyPath(Student.yearMonthString), ascending: false)
let dateSortDescriptor = NSSortDescriptor(key: #keyPath(Student.dateOfBirth), ascending: true)
studentFetchRequest.sortDescriptors = [groupSortDescriptor, dateSortDescriptor]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59479074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档