如何区分SwiftUI KeyPathComparator是按升序还是降序排列?

e0bqpujr  于 2023-03-07  发布在  Swift
关注(0)|答案(1)|浏览(142)

我按照SwiftUI Table Documentation“支持表格排序”一节中的说明,将表格设置为可排序,并将其顺序值存储在变量中。但是,我不知道如何检查该顺序值是升序还是降序,因此无法在UserDefaults中保存正确的顺序。
我想做一些如下所示的东西。我该怎么做呢?

@Published var sortOrder: [KeyPathComparator<Song>] = []

...

Button("Save Sort Order") {
    if let newOrder = sortOrder.first {
        if newOrder == KeyPathComparator(\Song.titleValue).increasingOrder // To check its order, some code like this
        { /* Store "Title-Increasing" */ }
        if newOrder == KeyPathComparator(\Song.titleValue).decreasingOrder // To check its order, some code like this
        { /* Store "Title-Decreasing" */ }
    }
}
cmssoen2

cmssoen21#

KeyPathComparator有一个order: SortOrder属性,它告诉您顺序是forward还是backward
您可以存储该值。

相关问题