【问题标题】:How to sort NSOrderedSet by date in Swift如何在 Swift 中按日期对 NSOrderedSet 进行排序
【发布时间】:2023-04-06 06:00:01
【问题描述】:

我正在尝试使用 NSSortDescriptor 按日期对名为 Log 的实体的 NSOrderedSet 进行排序,该实体具有 3 个属性(logDate、logDescription、logThumbnail),但它不起作用。

if let logs = projectSelected?.logs {
        let sd = NSSortDescriptor(key: "logDate", ascending: false)
        logs.sortedArrayUsingDescriptors([sd])
}

我也尝试使用 projectLogs?.sortInPlace{$0.logDate!.compare($1.logDate!) == .OrderedAscending} 没有成功。对于我正在尝试做的事情,最好的解决方案是什么?提前感谢您的帮助。

【问题讨论】:

    标签: swift nsorderedset


    【解决方案1】:

    要对NSOrderedSet 进行就地排序,它必须是可变的 (NSMutableOrderedSet)

    let mutableLogs = logs.mutableCopy()
    let sd = NSSortDescriptor(key: "logDate", ascending: false)
    mutableLogs.sortUsingDescriptors([sd])
    

    【讨论】:

    • 谢谢,这正是我想要的。虽然我不确定这是否是一个小故障,但如果我在没有日志缩略图的情况下将项目重新排序到顶部,它将显示以下项目的日志缩略图。刷新 tableview 并不能解决这个问题,我必须更改视图并完全重新加载表。有什么想法吗?
    猜你喜欢
    • 2021-02-23
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 2020-10-30
    相关资源
    最近更新 更多