2016-12-13 7 views
0

iTunes 조회 API로 내 응용 프로그램의 버전을 확인하려고합니다. 응답 구문 분석에 문제가 있습니다.'__NSSingleObjectArrayI'유형의 값을 'NSDictionary'로 변환 할 수 없습니다.

static func needsUpdate() -> Bool 
{ 
    do { 
     let infoDictionary = Bundle.main.infoDictionary 
     let appID = infoDictionary?["CFBundleIdentifier"] 
     let url:URL = URL(string: "http://itunes.apple.com/lookup?bundleId=\(appID!)")! 
     let data = try Data(contentsOf: url) 
     let lookup = try JSONSerialization.jsonObject(with:data, options: []) as! [String:AnyObject] 

     print(lookup) 

     let resultCount:Int = lookup["resultCount"] as! Int 

     if (resultCount == 1) 
     { 
      var results = lookup["results"] as! [String:AnyObject] // ***Error*** 

      if results.isEmpty 
      { 
       print(results) 
      } 
     } 

    } catch 
    { 

    } 
    return true 
} 

날 내가 오류 메시지가 명확 results의 값이 배열 것을 알이 응답

+0

LOOKUP ''에 무엇을 확인하기 위해 중단 점을 확인 것을 고려한다. – Lumialxk

답변

7

을 구문 분석 할 수있는 방법을 알려 주시기 바랍니다 코드를 찾아주세요.

let results = lookup["results"] as! [[String:Any]] 

그리고 JSON 사전 스위프트 3 [String:Any]

관련 문제