如何按[NSMutableDictionary]中的值从最高到最低的数字顺序排列?

时间:2016-07-19 23:22:02

标签: arrays swift nsmutabledictionary

var ditto:[NSMutableDictionary] = [["name":"Bob", "rank":14], ["name":"Randy", "rank":5], ["name":"Julie", "rank":20]]

如何根据" rank"?按数字顺序从高到低排序同上?这是我想要的结果:

var ditto:[NSMutableDictionary] = [["name":"Julie", "rank":20],["name":"Bob", "rank":14], ["name":"Randy", "rank":5]]

2 个答案:

答案 0 :(得分:1)

这是代码

ditto.sortInPlace { ($0.0["rank"] as! Int) > ($0.1["rank"] as! Int) }

但是你应该使用像这样的模型值

struct Person {
    let name: String
    let rank: Int
}

你也应该停止使用旧时尚方式NSMutableDictionary并开始使用Swift词典......你在Swift中编程不是吗:)。

答案 1 :(得分:1)

假设所有条目都有" rank"值:

 ditto.sortInPlace(){ $0["rank"]! as! Int > $1["rank"]! as! Int }