[TIL] Swift의 Decodable 이해하기 🌱

jeongmuyamette·2024년 12월 6일

TIL

목록 보기
13/72
post-thumbnail

[TIL] Swift의 Decodable 이해하기 🌱

Decodable이 뭔가요? 🤔

우리가 음식점에서 주문을 할 때, 외국인 손님이 영어로 주문하면 직원이 한국어로 바꿔서 주방에 전달하죠?
Decodable도 이와 비슷해요!

JSON이라는 외국어로 된 데이터를 Swift가 이해할 수 있는 말로 번역해주는 통역사 역할을 합니다.

실제로 어떻게 쓰나요? 📱

예를 들어, 날씨 앱을 만든다고 생각해볼까요?

// 날씨 정보를 담을 그릇을 만들어요
struct Weather: Decodable {
    let temperature: Double    // 온도
    let city: String          // 도시 이름
    let description: String   // 날씨 설명
}

이렇게 만든 그릇에 날씨 서버가 보내준 정보를 담을 수 있어요!

{
    "temperature": 23.5,
    "city": "서울",
    "description": "맑음"
}

왜 Decodable을 써야 할까요? 🌟

  1. 편리해요

    • 직접 하나하나 데이터를 변환하지 않아도 돼요
    • Swift가 자동으로 변환해줘요
  2. 안전해요

    • 잘못된 데이터가 들어오면 바로 알 수 있어요
    • 실수를 줄일 수 있어요
  3. 깔끔해요

    • 코드가 짧고 읽기 쉬워져요

실제 사용 예시 💻

// 1. 날씨 정보 모델
struct Weather: Decodable {
    let temperature: Double
    let city: String
}

// 2. 서버에서 받은 데이터 변환하기
let jsonData = // 서버에서 받은 데이터

do {
    let weather = try JSONDecoder().decode(Weather.self, from: jsonData)
    print("오늘 \(weather.city)의 온도는 \(weather.temperature)도 입니다!")
} catch {
    print("앗! 데이터를 변환하는데 실패했어요 😢")
}

정리 ✨

  • Decodable은 JSON 같은 외부 데이터를 Swift 데이터로 바꿔주는 통역사예요
  • 복잡한 변환 과정을 자동으로 처리해줘서 편리해요
  • 앱 개발할 때 서버와 통신하는 부분에서 자주 사용돼요

오늘의 한 줄 💡

"Decodable은 JSON을 Swift로 바꿔주는 우리의 든든한 통역사!"

0개의 댓글