Swift에서 ObjectMapper는 JSON 데이터를 Swift 객체로 변환하는 라이브러리입니다. ObjectMapper를 사용하여 Swift 객체에 enum을 매핑하는 방법은 다음과 같습니다.
- Enum 정의하기
첫 번째로, 매핑할 enum을 정의해야 합니다. 예를 들어, JSON 데이터에서 “status”라는 키에 대응하는 값을 매핑하는 enum을 정의해보겠습니다.
enum Status: String {
case active = "Active"
case inactive = "Inactive"
}
- ObjectMapper 사용하기
다음으로, ObjectMapper를 사용하여 enum을 매핑할 수 있습니다. ObjectMapper는 Mappable
프로토콜을 구현한 객체에 대해 매핑 기능을 제공합니다.
import ObjectMapper
class User: Mappable {
var name: String?
var status: Status?
required init?(map: Map) {}
func mapping(map: Map) {
name <- map["name"]
status <- (map["status"], EnumTransform<Status>())
}
}
위의 코드에서 Status
enum을 매핑하기 위해 EnumTransform<Status>()
를 사용하였습니다. status
변수의 매핑에 (map["status"], EnumTransform<Status>())
를 사용하여 enum으로의 매핑을 처리합니다.
- JSON 데이터를 Swift 객체로 매핑하기
이제 ObjectMapper를 사용하여 JSON 데이터를 Swift 객체로 매핑할 수 있습니다. 다음은 ObjectMapper를 사용하여 JSON 데이터를 Swift 객체로 매핑하는 예제입니다.
let json = """
{
"name": "John",
"status": "Active"
}
"""
if let user = Mapper<User>().map(JSONString: json) {
print(user.name) // "John"
print(user.status) // Status.active
}
JSON 데이터에서 “status” 값인 “Active”이 매핑되면, user.status
는 Status.active
로 설정됩니다.
이처럼, ObjectMapper를 사용하여 Swift 객체에 enum을 매핑할 수 있습니다. ObjectMapper는 다양한 유형의 데이터를 Swift 객체로 변환하는데 유용한 라이브러리입니다.
더 자세한 내용은 ObjectMapper의 공식 문서를 참조해주세요. [^1^]