: 공식문서를 보면 스스로 뭔가를 변환할 수 있는 느낌인 것 같다.
일단, Codable은? Decodable과 Encodable 프로토콜을 준수하는 타입이라는 것을 알 수 있다.
그럼, Decodable & Encodable은 모냐?
Decodable
: A type that can decode itself from an external representation Encodable
: A type that can encode itself to an external representationstruct Camper: Codable {
let name: String
let point: Int
}
// MARK: - Decode
func decode(from name: String) -> [Camper]? {
guard let data = NSDataAsset(name: name) else {
return nil
}
let camper = try? JSONDecoder().decode([Camper].self, from: data.data)
return camper
}
// decoder를 생성해서 변수를 활용하는 방법
let decoder = JSONDecoder()
let camper = try? decoder.decode([Camper].self, from: data.data)
// 바로 사용하는 방법
let camper = try? JSONDecoder().decode([Camper].self, from: data.data)