我正在使用以下排序描述符设置NSFetchRequest:
[sortDescriptors addObject:[NSSortDescriptor sortDescriptorWithKey:@"color" ascending:YES]];
我将NSFetchedResultsController的sectionNameKeyPath设置为“color”属性。
结果根据颜色分为几个部分,正如我所料。
对于某些对象,“color”属性为空字符串“”是有效的。这些都在第一部分中组合在一起,因为它们在所有其他名称之前排序。但是,我希望它们显示为最后一部分,而不是第一部分,而不影响其余对象的搜索顺序。
例如,目前的部分可能是:
""
"green"
"red"
"yellow"
但我希望这些部分符合顺序:
"green"
"red"
"yellow"
""
是否有某种方法可以编写排序描述符来获取此行为?我自己无法想出任何东西。
答案 0 :(得分:2)
(基于SQLite)Core Data获取请求的排序描述符只能使用一些标准比较器方法,并且只能使用存储在数据库中的(持久)属性。要得到 如果是非标准订单,您必须向实体添加其他属性 用它来分类。