서버 통신 공부하면서 제대로 다루지 않으면 완벽히 코드를 이해할 수 없다고 생각해서 사전에 공부하려고 마음을 먹었답니당!!!!!
자신을 변환하거나 외부표현(external representation)으로 변환할 수 있는 타입입니다.
근데 이제 이 친구의 원형을 살펴보면 Decodable & Encodable을 알아야 됨 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 슈펄 이러니까 개발 공부는 진짜 하면 할수록 증식이 된단 말이져 ㅋㅋㅋㅋㅋㅋㅋ
typealias Codable = Decodable & Encodable
{
"authenticationId" : "lyny123",
"password" : "password34!!",
"nickname" : "닉네임적어주세요",
"phone" : "010-1234-5678"
}
공식문서를 살펴보면 둘 다 프로토콜이라는 것을 알 수 있죠?
그럼 Codable은 Encodable과 Decodable을 준수하는 타입(프로토콜)이다! 라는 것을 알 수 있겠죠?
그러면 눈치 있는 사람들은 아래 느낌이라는 것을 대충 알 수 있겠죠? Encodable → 자신을 외부표현(external representation)으로 인코딩 할 수 있는 타입 Decodable → 자신을 외부표현(external representation)에서 디코딩 할 수 있는 타입
자 그럼 우리는 Codable을 채택해서 활요하면 되겠쬬? class, struct, enum에서 채택이 가능하기 때문에 class, struct, enum을 serialize / deserialize할 수 있다는 것을 의미하기도 합니다. 그럼 시작해봅시당!
우리가 만든 구조체에 Codable을 채택하게 된다면, 우리는 이제 이 구조체를 통해 serialize / deserialize을 할 수 있게 된다구용~
import Foundation
struct AuthModel {
let authenticationID: String
let password: String
let nickname: String
let phone: String
}
enum CodingKeys: String, CodingKey {
case authenticationID = "authenticationId"
case password, nickname, phone
}
}