首页 > 解决方案 > 具有两个键的核心数据 NSSortDescriptor

问题描述

是否可以通过多个 Core Data 属性键对请求进行排序?

sort1 = NSSortDescriptor(key: "list_item", ascending: true, selector: #selector(NSString.caseInsensitiveCompare))
sort2 = NSSortDescriptor(key: "list_item_completed", ascending: true)

request.sortDescriptors = [sort1]
//request.sortDescriptors = [sort1, sort2]

我已经尝试创建一个数组并将其添加到,sortDescriptor但它只反映了第一个排序。我什至也尝试过使用sortDescriptors串联但没有运气:

request.sortDescriptors = [sort1]
request.sortDescriptors = [sort2]

标签: swiftsortingcore-datanssortdescriptor

解决方案


仅当第一个排序描述符对要比较的对象返回相等时,才会应用第二个排序描述符。

我假设您想按字母顺序显示首先完成的项目列表,然后按字母顺序再次完成。在这种情况下,Jus 先将 sort2 添加到数组中,然后再添加 sort1。


推荐阅读