2016-06-08 9 views
-1

의 NSMutableDictionary을 재정렬하는 방법 : 루프의 끝에는 JSON 데이터 I는 NSMutableDictionary를 생성하고 있는데 내부 I는 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 
} 

을 i를 jsonValues ​​넣어 mutableDictionary는 전역 변수, 다른 NSMutableDictionary는 nsDict로 명명됩니다.

수치가있는 ["distance"] 값을 사용하여 사전을 재정렬하고 싶습니다. 따라서 저전압에서 위까지 tableView에 표시 할 수 있습니다. 나는 stackoverflowing 및 잠시 동안 인터넷 검색 했습니다만, NSMutableDictionary를 사용하기 때문에 dictionary.sort()을 가진 예제 만 쓸모가 없습니다. NsMutableDictionary를 사용하여 예제를 찾을 수 없으며 apple 문서를 실제로 이해하지 못합니다. PHP와 같은 다른 언어에서는 두 가지 방법을 사용했습니다. do{}while 그러나 주어진 방법으로 신속하게 처리 할 수는 없습니다. 아무도 나 도와 줄 수 없어?

내가 순서 (분류 또는 삽입)를 유지하지 않는 한 NSMutableDictionary

+0

처음 NSMutableDictionary를 사용하는 이유는 무엇입니까? – Alexander

+0

@AMomchilov 만약 내가하고있는 것에 대한 더 나은 접근법을 알고 있다면 그것을 게시하는 것을 환영합니다. – user3033437

+1

나는 당신이하고있는 일이나 성취하려고하는 것을 모른다. 1) 여기에서 볼 수 있듯이, 당신은 당신이'Foundation' 컬렉션 ('NSArray','NSDictionary', 등)을 사용해야하는 레거시 프레임 워크를 사용하지 않고 있습니다. 2) 이것은 'Comparable' 인터페이스를 준수 할 수있는 구조체에 더 적합합니다. 그러면 케이크 한 장을 비교할 수 있습니다. – Alexander

답변

3

NSMutatbleDictionary 주문으로 구문 분석 기술은 동일하지 않습니다 생각하는 이유는 NSMutableDictionaries의 NSMutableDictionary입니다. 정렬 할 수 없습니다.

정렬 된 키가 NSArray 인 경우와 같이 다른 방법이 필요합니다. NSDictionary - Sorting Dictionaries을 참조하십시오.