【问题标题】:Core Data NSSortDescriptor with two keys具有两个键的核心数据 NSSortDescriptor
【发布时间】:2018-05-25 19:50:30
【问题描述】:

是否可以通过多个 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]

【问题讨论】:

  • request.sortDescriptors = [sort1, sort2] 正确的方式。如果这不起作用,那么您必须提供实际和预期结果的具体示例。

标签: swift sorting core-data nssortdescriptor


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多