iOS/Swift
[Swift] 타입에러 경고 Cast from 'JSON?' to unrelated type ' ' always fails
최지철
2024. 7. 4. 13:33
반응형
해당 경고는 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"])))
}
해결 방법
- res를 안전하게 언래핑하여 JSON 타입으로 처리합니다.
- JSON 타입을 원하는 Swift 타입(예: Data, [[String: Any]])으로 변환합니다.
반응형