这是我的字典:
var _dict :[String:String]=[
"a":"h1",
"b":"b1",
"c":"j1",
"e":"o1",
"f": "m1",
"g":"u1",
"h":"r1"
]
我正试图按照这样的价值对其进行排序:
_dict = _dict.sort({ $0.1 > $1.1 })
但我收到此错误消息:
无法调用'排序'使用类型'的参数列表(@noescape((String,String),(String,String)) - > Bool)'
答案 0 :(得分:3)
没有排序字典这样的东西。字典是无序的。您将不得不考虑其他您想做的事情,例如制作一组元组并对其进行排序。
示例:
var arr = Array(_dict)
arr = arr.sort{ $0.1 > $1.1 }
答案 1 :(得分:0)
字典ID无序,但您可以获得排序的键和值:
var _dict :[String:String]=[
"a":"h1",
"b":"b1",
"c":"j1",
"e":"o1",
"f": "m1",
"g":"u1",
"h":"r1"
]
//get the keys and sort them.
let keysAndValues = _dict.keys.sort().map { ($0, _dict[$0]!) }
现在将Dict转换为元组数组,其中元组的第一个元素是键,第二个是值。