-
Codable 프로토콜Swift 2023. 10. 28. 16:37
Codable 프로토콜
: A type that can convert itself into and out of an external representation.
typealias Codable = Decodable & Encodable
Message Data
struct Mesage: Codable { let sender: String let content: String let timeStamp: Double }
Encoding (Swift Data -> JSON)
let sampleInput = Mesage(sender: "lyla", content: "오늘 뭐해?", timeStamp: Date().timeIntervalSince1970) func encodeFunc() { do { let encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted let data = try encoder.encode(sampleInput) if let jsonString = String(data: data, encoding: .utf8) { print(jsonString) } } catch { print(error) } }
Decoding (JSON -> Swift Data )
let jsonData = """ { "sender" : "lyla", "content" : "오늘 뭐해?", "timeStamp" : 1698477010.82001 } """.data(using: .utf8)! func decodeFunc() { do { let decoder = JSONDecoder() let data = try decoder.decode(Mesage.self, from: jsonData) print(data) print(data.content) } catch { print(error) } }
'Swift' 카테고리의 다른 글
[Swift] FirebaseDatabase 채팅 기능 upload/fetch 예제 (0) 2023.10.28 [Swift] 이슈트래킹: Firebase에서 값이 안뜸 (원인: 값을 가져오긴 했는데 closure의 실행 과정에 대한 이해 부족) (0) 2023.10.28 네이버 지도 이용시 멀티스레딩 (0) 2023.09.24 의존성 주입 (0) 2023.09.24 싱글톤 패턴 (0) 2023.09.23