Swift和ObjectMapper:具有最小值的NSDate

前端之家收集整理的这篇文章主要介绍了Swift和ObjectMapper:具有最小值的NSDate前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 ObjectMapper将json转换为对象.我的问题是没有正确映射NSDate属性.这是json:
{
   "Id":4775,"Cor":{
      "Id":2,"Nome":"Amarelo","HTMLCode":"FFFB00"
   },"Data":"2016-07-25T09:35:00","Texto":"test test test","Kilometro":547.0
}

这是我的可映射的课程

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())
    }
}

问题是date属性始终是1970-01-01.我还看不到我所缺少的东西.你能看出这个映射有什么问题吗?

谢谢

ObjectMapper没有正确地从String转换为NSDate你必须做一个这样的解决方法来指定它需要从String转换的NSDate格式的类型:
func mapping(map: Map) {
    id <- map["Id"]
    color <- map["Cor"]
    text <- map["Texto"]
    kilometer <- map["Kilometro"]

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"

    if let dateString = map["Data"].currentValue as? String,let _date = dateFormatter.dateFromString(dateString) {
        date = _date
    } 
}

我希望这对你有帮助.

原文链接:https://www.f2er.com/swift/319153.html

猜你在找的Swift相关文章