如何重新排序 NSMutableDictionaries 的 NSMutableDictionary

how to reorder an NSMutableDictionary of NSMutableDictionaries

在包含 json 数据的循环中,我正在创建一个 NSMutableDictionary 并在其中存储 json 已解析的值:

for j in json {
            var jsonValues = NSMutableDictionary()

//Create main value
            guard let value = j.valueForKey("value")?.valueForKey("value")! else{
                continue
            }

            //Get name
            guard let Name : String = (value.valueForKey("Name")?.valueForKey("en") as? String) else {
                continue
            }

            jsonValues["name"] = Name

            //Get geoposition
            guard let geoposition = value.valueForKey("geoposition") else {
                return
            }

            //Get lat
            if let lat = geoposition.valueForKey("lat") as? String {

                jsonValues["lat"] = lat
                let flat : Float = (lat as AnyObject).floatValue


                //Get lng
                if let lng = geoposition.valueForKey("lng") as? String{

                    jsonValues["lng"] = lng
                    let flng : Float = (lng as AnyObject).floatValue

                    let metters : CLLocationDistance = getDistance(flat, flng: flng)

                    jsonValues["distance"] = floor(metters)
                }
            }else{}


nsDict.setValuesForKeysWithDictionary(["\(c)" : jsonValues])
c += 1
}

在循环结束时,我将 jsonValues mutableDictionary 放入一个全局变量,另一个 NSMutableDictionary,命名为 nsDict。

我想使用 ["distance"] 值对我的字典重新排序,该值以米为单位,因此我可以在 tableView 中从低到高显示它。我已经用 Whosebuging 和谷歌搜索了一段时间,但我只找到带有 dictionary.sort() 的示例,这对我来说没用,因为我使用的是 NSMutableDictionary。无法找到 NsMutableDictionary 的任何示例并且并不真正理解苹果文档。在另一种语言中,例如 php,我本来可以用两个 do{}while 来做到这一点,但我无法在 swift 2 中用给定的方法做到这一点。有人可以帮助我吗?

这是一个 NSMutableDictionary 的 NSMutableDictionary,这就是为什么我认为解析技术与订购一个 NSMutableDictionary 不同的原因

NSMutatbleDictionary 不保留顺序(排序或插入)。你不能排序。

您需要一种不同的方法,例如使用 NSArray 排序键。参见 NSDictionary - Sorting Dictionaries