Swift 3으로 변환했으며 JSONSerialization.jsonObject를 AnyObject에 할당 할 때 다음과 같은 오류가 발생했습니다. 누구든지이 문제를 발견하고 수정 사항을 알고 있습니까? 이러한 상황에서 당신은 명시 적 캐스트를 사용하도록 강요되도록 리턴 유형의 대부분은 Any
과 낙심에 AnyObject
변경 마지막 스위프트 3 업데이트가 허용되지 않기 때문에JSONSerialization AnyObject SWIFT3 변환 문제
-4
A
답변
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의 일부를 사용할 수있는 애플의 기사를 확인 할 수 있습니다 예 :
-1
let object : Any
로 let object : AnyObject
을 교체하십시오.
잘못된 캐스팅으로 인해 오류가 표시됩니다.
코드의 이미지가 아닌 실제 코드를 게시하십시오. 사람들은 종종 코드를 재현하여 문제를 해결하려고합니다. – Takarii