2017-01-26 2 views
1
내가 코드를 아래에 대한 오류이 "회원 첨자에 대한 참조가 모호합니다"무엇입니까

-모호한 참조

모두의
let resultsDict = try JSONSerialization.jsonObject(with: data!, options: []) as! Dictionary<NSObject, AnyObject> 

let items: Array<Dictionary<NSObject, AnyObject>> = resultsDict["items"] as! Array<Dictionary<NSObject, AnyObject>> 
+0

어떻게 resultsDict –

+0

resultsDict는 = JSONSerialization.jsonObject 해보자 선언 (과를 : 데이터! 옵션 : []) 등을! Dictionary

+0

당신이 강제로 사용하고있는 문제 중 하나. 이 단계를 확인하면 추가 할 수 있습니다. 사전 형 –

답변

1

우선이 함께 NSObject를 사용하지 않을를 JSONSerialization 인 경우 [AnyHashable: Any] 또는 [String : Any]을 대신 사용하십시오. 둘째, 속기 사전과 배열 구문을 대괄호로 묶어 사용하는 것이 좋습니다. 안전을 위해 강제 다운 캐스트 (as!) 대신 안전한 다운 캐스트 (as ?)를 if let과 함께 사용하는 것이 좋습니다.

do { 
    if let resultsDict = try JSONSerialization.jsonObject(with: data!, options: []) as? [String : Any] { 

     let items = resultsDict["items"] as? [[String : Any]] 
     // use items 
    } 
} catch { 
    // handle error 
}