Swift Object Mapper 传递不同的日期
Posted
技术标签:
【中文标题】Swift Object Mapper 传递不同的日期【英文标题】:Swift Object Mapper passing a different date 【发布时间】:2018-07-06 19:19:37 【问题描述】:我正在使用 ObjectMapper 将 json 转换为对象,但每次都将日期设置为 1970-01-01。我看不出我的问题是什么,因为我虽然 DateTransform 能够处理格式。
这是课程:
import Foundation
import ObjectMapper
class example :Mappable
var ExampleDate: Date?
required init?(map: Map)
//Mappable
func mapping(map: Map)
ExampleDate <- (map["ReviewDate"], DateTransform())
这是其中一个日期的外观:
ExampleDate = "2018-07-05T12:41:52.087+00:00"
谢谢!
【问题讨论】:
【参考方案1】:尝试改用DateFormatterTransform
:
import Foundation
import ObjectMapper
class example :Mappable
var ExampleDate: Date?
required init?(map: Map)
//Mappable
func mapping(map: Map)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss.SSSZ"
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
ExampleDate <- (map["ReviewDate"], DateFormatterTransform(dateFormatter: dateFormatter))
作为一般观察,请尽量避免在变量名称中使用大写的首字母。这是推荐的方式,因此您可以轻松地将它们与类型区分开来。所以用exampleDate
代替ExampleDate
【讨论】:
非常感谢! 它将日期值更改为 "String" ,而不是 Date() 了。以上是关于Swift Object Mapper 传递不同的日期的主要内容,如果未能解决你的问题,请参考以下文章
通过 Alamofire Object Mapper Swift 从映射数组中获取值
在swift 3中将UnsafeMutablePointer传递给函数中的Ref Object