我如何使用NSFetchedResultsController更改节的顺序?
我使用以下排序描述符设置NSFetchRequest:
[sortDescriptors addObject:[NSSortDescriptor sortDescriptorWithKey:@"color" ascending:YES]];
我将NSFetchedResultsController的sectionNameKeyPath设置为“color”属性。
正如我所期望的那样,结果根据颜色分类成不同的部分。
对于某些对象来说,“color”属性是一个空字符串“”,这是有效的。 这些在第一部分都被分组在一起,因为它们在所有其他名称之前排序。 但是,我希望它们显示为最后一部分,而不是第一部分,不会影响其余对象的搜索顺序。
例如,目前这些部分可能是:
""
"green"
"red"
"yellow"
但是我想让这些部分按顺序排列:
"green"
"red"
"yellow"
""
有没有办法编写排序描述符来获得这种行为? 我一直无法自己想出任何东西。
基于(基于SQLite的)核心数据获取请求的排序描述符只能使用一些标准比较器方法,并且只能使用存储在数据库中的(持久性)属性。 要获得非标准订单,您必须向实体添加一个附加属性并将其用于排序。
链接地址: http://www.djcxy.com/p/36101.html上一篇: How can I change section ordering with NSFetchedResultsController?