【发布时间】:2018-11-26 04:31:12
【问题描述】:
我将文档存储在 Cloud Firestore 数据库的集合中。在本文档中,我想要参考文档的存储时间,因此我使用 Firestore 的 FieldValue 对象,该对象具有 serverTimeStamp() 函数。
我无法将客户端上的此 FieldValue 对象解析为 Date/NSDate 或 String。我花了一些时间阅读 Firestore iOS 文档,但找不到任何线索。
将FieldValue 从数据库获取到客户端没有问题,但是,我无法将FieldValue 类型的时间戳转换/转换为任何内容。
尝试转换为字符串和日期:
let timeStampString : String = message.timeStamp
let timeStampDate = Date(timeIntervalSince1970: message.timeStamp)
- 无法将
FieldValue类型的值分配给String类型 - 无法将
FieldValue类型的值转换为预期的参数类型TimeInterval(又名Double)
编辑:查看 Doug Stevenson 的回答后,处理此问题的最佳方法是在阅读客户端信息时将您的 timeStamp 值转换为 TimeStamp(而不是 FieldValue)。
let timeStamp = document["yourTimeStampKey"] as! TimeStamp
而不是
let timeStamp = document["yourTimeStampKey"] as! FieldValue
【问题讨论】:
标签: swift firebase google-cloud-firestore