2016-06-08 127 views
-1

的一个NSMutableDictionary在使用JSON数据我创建一个NSMutableDictionary和里面我存储JSON解析值的循环:在循环结束如何重新排序NSMutableDictionaries

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全局变量var中的mutableDictionary,另一个名为nsDict的NSMutableDictionary。

我想重新排序我的词典词典,使用值为["distance"],这是在metters中,所以我可以在从较低距离到较高距离的tableView中显示它。我一直在stackoverflowing和谷歌搜索了一段时间,但我发现只有dictionary.sort()这是没用的,因为我使用NSMutableDictionary的例子。无法找到NsMutableDictionary的任何示例,并且不能真正理解Apple文档。在另一种语言,如PHP,我会这样做与两个do{}while但我不能设法用swift 2与给定的方法。任何人都可以帮助我?

这是NSMutableDictionaries的一个NSMutableDictionary这就是为什么我认为分析技术并不相同,订购一个的NSMutableDictionary

+0

请问你为什么首先使用'NSMutableDictionary'? – Alexander

+0

@AMomchilov如果你知道我在做什么的更好的方法,欢迎你发布它 – user3033437

+1

我不知道你在做什么或试图达到目的。 1)从我在这里看到的,你没有使用任何遗留的框架,需要你使用基金会的集合('NSArray','NSDictionary'等)。 2)这似乎更适合于结构体,它可以符合“Comparable”接口。这将使比较成为一块蛋糕。 – Alexander

回答