codable

    [IOS] Realm 사용해서 데이터 저장하기

    출시 프로젝트 중 API 통신으로 받아온 데이터를 앱 내부에 저장해놓고 사용해야 했는데 Realm SDK를 사용해서 데이터 모델을 설계했던 경험을 정리한 글이다. 1. 클래스 Realm은 DB에 저장할 타입으로 클래스를 사용한다. 구조체를 사용하지 않는 가장 큰 이유는 "live"에 포커스를 맞춰서 그렇다고 한다. Realm DB에 저장하려는 클래스는 Object 클래스를 상속해야하고 내부 프로퍼티에 @Persisted 라는 property wrapper 속성을 사용한다. class Place: Object { @Persisted(primaryKey: true) var contentId: Int @Persisted var image: String } 위의 Place 클래스는 DB에서 하나의 테이블처럼 취..

    [Sesac IOS] 40일차 TIL

    40일차 수업 내용을 정리한 글입니다. Learned Codable 1. 개요 A type that can convert itself into and out of an external representation. Codable is a type alias for the Encodable and Decodable protocols. Encodable과 Decodable 프로토콜을 모두 포함하는 typealias (Encodable과 Decodable 중 하나만 지원한다면 사용 불가) 클래스, 구조체같은 내부 객체가 JSON같은 외부적 표현으로 변환(convert)될 수 있도록 인코딩 및 디코딩이 가능하게 해주는 기능을 함. JSON 형식 뿐만 아니라, 데이터를 디스크에 저장하거나 네트워크로 전송할 때 필요..

    [Swift] JSON 객체를 구조체로 변환하기

    일반적으로 Swift에서 API를 통한 HTTP통신으로 데이터를 주고받을때 Data 타입의 객체를 사용했는데, 소켓 통신을 하면서 JSON 형식의 객체(JSON Object)를 사용했다. JSON 객체를 바로 사용하기엔 불편함이 많아서 구조체로 바꾸기 위해 사용했던 방법을 기록한다. 이전까지 뜻을 정확히 모른 상태에서 사용하다가 이번 기회에 JSON에 대해 알아봤다. JSON이란? JavaScript Object Notation의 약자로 자바스크립트 언어에서 배열 또는 키-값 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트 형식을 사용하는 포맷이다. 프로그래밍 언어와 플랫폼에 독립적이라는 특징이 있어서 다양한 환경에서 사용되며 Swift에서도 객체를 JSON 형식으로 변환하거나 ..