Ios 如何在Swift 4中按列值对UITableView排序?

Ios 如何在Swift 4中按列值对UITableView排序?,ios,swift,uitableview,sorting,Ios,Swift,Uitableview,Sorting,我有一个应用程序可以显示比特币的价格。我希望在单击列标题时进行排序 我正在尝试这样做,点击已被响应,但什么也没有发生,列继续未排序 struct info { let name: String let coin: String let change: Double let price: Double } var ticker: Array<info> = [] @objc func tapChangeFun

我有一个应用程序可以显示比特币的价格。我希望在单击列标题时进行排序

我正在尝试这样做,点击已被响应,但什么也没有发生,列继续未排序

struct info {
        let name: String
        let coin: String
        let change: Double
        let price: Double
    }

var ticker: Array<info> = []

@objc func tapChangeFunction(sender: UITapGestureRecognizer) {
        self.ticker.sorted(by: {
            $0.change > $1.change
        })

        DispatchQueue.main.async {
            self.table.reloadData()
        }
    }
结构信息{ let name:String 让硬币:细绳 换零钱:双倍 价格:双倍 } var-ticker:Array=[] @objc func tapChangeFunction(发送方:UITapGestureRecognitizer){ self.ticker.sorted(按:{ $0.change>$1.change }) DispatchQueue.main.async{ self.table.reloadData() } }
您似乎忘记了将已排序的数据分配回模型:

self.ticker = self.ticker.sorted(by: {
    $0.change > $1.change
})
sorted(by:)
返回已排序的新数组,旧数组未修改,请阅读:

返回集合的元素,使用给定谓词作为元素之间的比较进行排序

或者使用变异版本
排序(按:)
():

使用给定谓词作为元素之间的比较,对集合进行就地排序

旁注:


您不必异步分派
重新加载数据
,您已经在主线程上了。

您似乎忘记了将排序后的数据分配回模型:

self.ticker = self.ticker.sorted(by: {
    $0.change > $1.change
})
@objc func tapChangeFunction(sender: UITapGestureRecognizer) {

       self.ticker = self.ticker.sorted(by: {
            $0.change > $1.change
        })

        DispatchQueue.main.async {
            self.table.reloadData()
        }
    }
sorted(by:)
返回已排序的新数组,旧数组未修改,请阅读:

返回集合的元素,使用给定谓词作为元素之间的比较进行排序

或者使用变异版本
排序(按:)
():

使用给定谓词作为元素之间的比较,对集合进行就地排序

旁注:

您不必异步分派
reloadData
,您已经在主线程上了

@objc func tapChangeFunction(sender: UITapGestureRecognizer) {

       self.ticker = self.ticker.sorted(by: {
            $0.change > $1.change
        })

        DispatchQueue.main.async {
            self.table.reloadData()
        }
    }
使用上述功能解决此问题。。 排序方法不会改变数组的内容,它将返回一个新的数组实例

使用上述功能解决此问题。。 排序方法不会改变数组的内容,它将返回一个新的数组实例