结构会以Date?格式储存日期值,但在储存之后,它会以时间戳记格式传回日期值。
if let data = try? JSONEncoder().encode(contact),
let dict = try? JSONSerialization.jsonObject(with: data, options: .Element.fragmentsAllowed) {
defaults.set(
dict,
forKey: "contact")
}
print(defaults.object(forKey: "contact"))
}
请告诉我如何将日期保存为日期格式。在这种情况下,有必要保留整个结构。
1条答案
按热度按时间jk9hmnmh1#
正如已经指出的,JSON不支持
Date
类型,默认情况下它会将其编码为整数。但是看起来你想把它解码回来,然后再用
Date
。这可以通过使用JSONDecoder()
来实现。你得到了你编码的相同对象。
顺便说一下,你不需要使用
JSONSerialization
来存储你的对象,你可以直接存储数据。和检索数据:
并像上面所示的那样解码它。