加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift和ObjectMapper:具有最小值的NSDate

发布时间:2020-12-14 05:25:44 所属栏目:百科 来源:网络整理
导读:我正在使用 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} 这是我的可映射的
我正在使用 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
    } 
}

我希望这对你有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读