[swift] ObjectMapper를 사용하여 서버 응답 데이터를 받아 매핑하는 방법은?
  1. ObjectMapper 라이브러리를 프로젝트에 추가합니다. Cocoapods를 사용한다면 Podfile에 다음과 같이 추가합니다.
pod 'ObjectMapper'
  1. 모델 객체를 만듭니다. 서버 응답 데이터를 매핑할 속성을 선언하고 ObjectMapper의 Mappable 프로토콜을 구현해야 합니다. 예를 들어, User 모델을 만들어보겠습니다.
import ObjectMapper

class User: Mappable {
    var name: String?
    var age: Int?

    required init?(map: Map) { }

    func mapping(map: Map) {
        name <- map["name"]
        age <- map["age"]
    }
}
  1. 서버 요청을 보내고 응답을 받은 후, ObjectMapper를 사용하여 데이터를 매핑합니다. 예를 들어, Alamofire를 사용하여 GET 요청을 보내고 응답을 받는다고 가정해보겠습니다.
import Alamofire
import ObjectMapper

let url = "http://example.com/users"

Alamofire.request(url, method: .get).responseJSON { response in
    guard response.result.isSuccess else {
        // 요청 실패 처리
        return
    }

    guard let json = response.result.value as? [String: Any] else {
        // JSON 형식 변환 실패 처리
        return
    }

    if let user = Mapper<User>().map(JSON: json) {
        // 매핑된 User 객체 사용
        print(user.name)
        print(user.age)
    }
}

위의 예제에서는 ObjectMapper의 map(JSON: ) 메서드를 사용하여 JSON 데이터를 User 객체로 매핑하고 있습니다. User 객체에 포함된 속성들이 JSON 데이터와 일치하면 자동으로 매핑되며, 일치하지 않는 경우에는 매핑되지 않습니다.

위의 예제는 ObjectMapper를 사용하여 서버 응답 데이터를 매핑하는 간단한 방법을 보여주고 있습니다. ObjectMapper에는 다양한 기능과 설정이 있으므로 상황에 맞게 사용할 수 있습니다.

참고 자료: