-
ObjectMapper 라이브러리를 프로젝트에 추가합니다. Swift Package Manager를 통해 설치하거나, CocoaPods 또는 Carthage를 사용할 수 있습니다.
-
소수점 이하 자리수를 조절할 필드에 대한 타입을 설정합니다. 예를 들어, 소수점 이하 2자리까지 표현하고 싶은 경우
Double
대신Decimal
타입을 사용합니다. -
ObjectMapper의 변환 메소드를 사용하여 JSON 데이터를 모델 객체로 매핑합니다.
-
필드의 소수점 이하 자리수를 조절하기 위해
transform
메소드를 사용합니다. 이 메소드는 ObjectMapper에서 제공하는 변환기를 사용하여 필드 값을 변환합니다.
다음은 예시 코드입니다.
import ObjectMapper
class MyModel: Mappable {
var value: Decimal?
required init?(map: Map) {}
func mapping(map: Map) {
value <- (map["value"], DecimalTransform())
}
}
class DecimalTransform: TransformType {
typealias Object = Decimal
typealias JSON = Any
func transformFromJSON(_ value: Any?) -> Decimal? {
if let stringValue = value as? String {
return Decimal(string: stringValue)
}
return nil
}
func transformToJSON(_ value: Decimal?) -> Any? {
return value?.description
}
}
위 코드에는 ObjectMapper의 Mappable
프로토콜을 준수하는 MyModel
클래스가 있습니다. value
필드는 Decimal
타입으로 정의되어 있으며, mapping
메소드 내에서 소수점 이하 자리수를 조절하기 위해 DecimalTransform
변환기를 사용하여 설정합니다.
DecimalTransform
변환기는 TransformType
프로토콜을 준수하며, JSON 데이터에서 Decimal
타입으로 변환하고 반대로 Decimal
값을 JSON 데이터로 변환합니다. 이때, transformFromJSON
메소드에서는 JSON 데이터를 Decimal
타입으로 변환하고, transformToJSON
메소드에서는 Decimal
값을 다시 문자열로 변환합니다.
이렇게 설정된 모델 클래스와 변환기를 사용하여 ObjectMapper의 map
또는 mapArray
메소드를 호출하여 JSON 데이터를 모델 객체로 매핑하면, 필드의 소수점 이하 자리수가 설정대로 변환됩니다.
추가적인 정보는 ObjectMapper의 공식 문서를 참조하시기 바랍니다. ObjectMapper GitHub Repository