본문 바로가기
iOS/Swift

[Swift] 타입에러 경고 Cast from 'JSON?' to unrelated type ' ' always fails

by 최지철 2024. 7. 4.
728x90
반응형

해당 경고는 Swift에서 JSON? 타입을 다른 타입(예: [[String: Any]] 또는 Data)으로 캐스팅하려고 할 때 발생합니다.

경고가 뜨는 이유는 Swift의 타입 시스템에서 JSON 타입이 예상하는 타입과 호환되지 않기 때문입니다.

해결하기 위해서는 JSON 타입을 적절하게 처리하고, 이를 원하는 타입으로 변환해야 합니다.

if let res = res {
                        let data = try res.rawData() // JSON 데이터를 Data로 변환
                        let terms = try JSONDecoder().decode([DTO].self, from: data)  // Data를 [DTO]로 디코딩
                        single(.success(terms))
                    } else {
                        single(.failure(NSError(domain: "", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid response format"])))
                    }

 

해결 방법

  1. res를 안전하게 언래핑하여 JSON 타입으로 처리합니다.
  2. JSON 타입을 원하는 Swift 타입(예: Data, [[String: Any]])으로 변환합니다.
728x90
반응형