2016-09-15 4 views
-4

Swift 3으로 변환했으며 JSONSerialization.jsonObject를 AnyObject에 할당 할 때 다음과 같은 오류가 발생했습니다. 누구든지이 문제를 발견하고 수정 사항을 알고 있습니까? 이러한 상황에서 당신은 명시 적 캐스트를 사용하도록 강요되도록 리턴 유형의 대부분은 Any과 낙심에 AnyObject 변경 마지막 스위프트 3 업데이트가 허용되지 않기 때문에JSONSerialization AnyObject SWIFT3 변환 문제

enter image description here

+3

코드의 이미지가 아닌 실제 코드를 게시하십시오. 사람들은 종종 코드를 재현하여 문제를 해결하려고합니다. – Takarii

답변

0

. 즉, 두 개의 guard 문을 작성하거나 각 필수 필드를 정의하는 선택 체인 if let을 사용해야합니다. 가능한 경우 map, filter, reduce을 사용하여 코드를보다 세련되게 만드십시오. 예 :

guard 방법 :

guard let object = try JSONSerialization.jsonObject(with: data) as? [[String: Any]] else { return nil } 
guard let field1 = object[0]["field1_token"] as? [Any] else { return nil } 
//do your thing 

if let 방법 :

if let object = try JSONSerialization.jsonObject(with: data) as? [[String: Any]], 
let field1 = object[0]["field1_token"] as? [Any] { 
//do your thing 
} 

당신은 또한 Working with JSON in Swift

당신이 JSON 구문 분석/매핑 libriaries의 일부를 사용할 수있는 애플의 기사를 확인 할 수 있습니다 예 :

SwiftyJSON

Gloss

-1

let object : Anylet object : AnyObject을 교체하십시오.

잘못된 캐스팅으로 인해 오류가 표시됩니다.