[swift] ObjectMapper를 사용하여 Swift 객체에 NSDate를 매핑하는 방법은 무엇인가요?
만약 ObjectMapper를 사용하여 Swift 객체에 NSDate를 매핑하려면, DateFormatter를 사용하여 NSDate를 String으로 변환하고, ObjectMapper의 TransformType을 사용하여 String을 NSDate로 다시 변환해야 합니다.
- DateTransform 클래스를 생성합니다. ```swift import ObjectMapper
class DateTransform: TransformType { typealias Object = Date typealias JSON = String
init() {}
func transformFromJSON(_ value: Any?) -> Object? {
if let dateString = value as? String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.date(from: dateString)
}
return nil
}
func transformToJSON(_ value: Object?) -> JSON? {
if let date = value {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.string(from: date)
}
return nil
} } ```
- ObjectMapper의 map 함수를 사용하여 데이터를 매핑합니다.
import ObjectMapper
class MyObject: Mappable {
var date: Date?
required init?(map: Map) {
}
func mapping(map: Map) {
date <- (map["date"], DateTransform())
}
}
위의 예제는 ObjectMapper를 사용하여 MyObject 클래스에 date라는 프로퍼티를 매핑하는 예제입니다.
참고로 위의 예제에서 “yyyy-MM-dd HH:mm:ss”는 날짜 포맷을 나타내며, 필요에 따라 수정할 수 있습니다.
이제 ObjectMapper를 사용하여 Swift 객체에 NSDate를 매핑할 수 있는 방법을 알게 되었습니다. 이 방법을 사용하여 NSDate 형식의 데이터를 쉽게 처리할 수 있습니다.
참고 문서: