Używam obiektu ObjectMapper do rzutowania json w obiekty. Mój problem polega na tym, że właściwość NSDate nie jest poprawnie mapowana. Oto json:Swift i ObjectMapper: NSDate z wartością minimalną
{
"Id":4775,
"Cor":{
"Id":2,
"Nome":"Amarelo",
"HTMLCode":"FFFB00"
},
"Data":"2016-07-25T09:35:00",
"Texto":"test test test",
"Kilometro":547.0
}
I tu jest moje odwzorowywalne klasa
class RoadWarning : Mappable {
var id: Int?
var color: RoadWarningColor?
var date: NSDate?
var text: String?
var kilometer: Float?
required init?(_ map: Map){
}
func mapping(map: Map) {
id <- map["Id"]
color <- map["Cor"]
text <- map["Texto"]
kilometer <- map["Kilometro"]
date <- (map["Data"], DateTransform())
}
}
Problemem jest to, że nieruchomość jest zawsze data 1970-01-01. Nie widzę jeszcze tego, czego mi brakuje. Czy widzisz, co jest nie tak w tym mapowaniu?
Dzięki
Dzięki! Tak było. Właśnie musiałem zmienić ten wiersz dateFormatter.dateFormat = "rrrr-MM-dd'T'HH: mm: ss" –
Tak, przykro mi, masz rację :) –
To nie jest dobre podejście, transformacje są właściwym sposobem ustaw poprawnie dane. Wbudowany DateTransform używa timeIntervalSince1970, więc nie będzie działać z sformatowaną datą. Najlepszym rozwiązaniem jest stworzenie własnego DateTransform, jak zrobił to Rodolfo poniżej. – Leon