2016-06-08 125 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

回答