[swift] ObjectMapper를 사용하여 Swift 객체의 속성 이름을 매핑하는 방법은 무엇인가요?
- ObjectMapper 라이브러리를 프로젝트에 추가합니다. CocoaPods를 사용하는 경우, Podfile에 다음 라인을 추가하고
pod install
명령을 실행합니다:
pod 'ObjectMapper'
- 매핑을 원하는 Swift 클래스를 만듭니다. 예를 들어, 다음과 같이 User 클래스를 만들어보겠습니다:
import ObjectMapper
class User: Mappable {
var name: String?
var age: Int?
required init?(map: Map) {}
func mapping(map: Map) {
name <- map["user_name"]
age <- map["user_age"]
}
}
-
Mappable 프로토콜을 채택하고,
mapping(map:)
메서드를 구현합니다. 이 메서드에서는name
속성을user_name
키와 매핑하고,age
속성을user_age
키와 매핑합니다. 이렇게 함으로써, JSON 데이터를 Swift 객체로 매핑할 때 해당 속성 이름을 대응시킬 수 있습니다. -
매핑을 실행합니다. ObjectMapper를 사용하여 JSON 데이터를 Swift 객체로 매핑하는 예제는 다음과 같습니다:
import ObjectMapper
let json = """
{
"user_name": "John Doe",
"user_age": 30
}
"""
if let user = User(JSONString: json) {
print("Name: \(user.name ?? "")")
print("Age: \(user.age ?? 0)")
}
위 예제에서, JSONString
초기화 메서드를 사용하여 JSON 문자열을 User 객체로 매핑합니다. 이후에는 User 객체의 속성에 접근하여 데이터를 사용할 수 있습니다.
이렇게 ObjectMapper를 사용하면, Swift 객체의 속성 이름을 매핑할 수 있어 JSON 데이터를 더 쉽게 다룰 수 있습니다.
참고 자료: