按值排序[String:String]字典

时间:2016-02-20 15:33:49

标签: swift

这是我的字典:

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)'

2 个答案:

答案 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转换为元组数组,其中元组的第一个元素是键,第二个是值。