我尝试在swift中对关联数组进行排序,我有一个数组:
var score : [String : Int] = [String : Int]()
我想通过值(Int)对其进行排序我尝试func sorted()但是这返回[(key:Key,value:Value)]并且我得到了这个错误:
Cannot convert value of type '[(key: String, value: Int)]' to specified type '[String : Int]'
使用此代码:
let retour : [String : Int] = score.sorted(by: {backward($0.1, $1.1)} )
我理解错误,但我不知道如何对关联数组进行排序并获取调用sort func作为回报的实例类型。
所以我这样做:
let sortedArray = score.sorted(by: {backward($0.1, $1.1)} )
var sortedScore : [String : Int] = [String : Int]()
for (key,value) in sortedArray {
print("Key : \(key) | Value : \(value)")
sortedScore[key] = value
}
func backward(_ s1: Int, _ s2: Int) -> Bool {
return s1 < s2
}
我的sortedArray数组已经过排序,但我的sortedScore在循环后没有排序。在循环期间,打印值被排序。我真的不明白。 谢谢