Eli*_*tle 2 firebase swift google-cloud-firestore
我将文档存储在Cloud Firestore数据库的集合中。在本文档中,我想参考文档的存储时间,因此我在使用具有功能的Firestore的FieldValue对象serverTimeStamp()。
我无法将客户端上的FieldValue对象解析为a Date/NSDate或String。我花了一些时间阅读Firestore iOS文档,但找不到任何线索。
FieldValue从数据库到客户端没有问题,但是,我无法将类型的timeStamp转换/转换FieldValue为任何东西。
尝试转换为字符串和日期:
let timeStampString : String = message.timeStamp
let timeStampDate = Date(timeIntervalSince1970: message.timeStamp)
FieldValue给typeStringFieldValue为预期的参数类型TimeInterval(aka Double)编辑:查看道格·史蒂文森(Doug Stevenson)的答案后,处理此问题的最佳方法是在读取客户端信息时将timeStamp值转换为TimeStamp(而非FieldValue)。
let timeStamp = document["yourTimeStampKey"] as! TimeStamp
Run Code Online (Sandbox Code Playgroud)
而不是
let timeStamp = document["yourTimeStampKey"] as! FieldValue
Run Code Online (Sandbox Code Playgroud)
无需解析。Firestore时间戳字段的类型为Timestamp,您应该直接使用。它代表了具有纳秒精度的时间点。
码:
let timeStamp = document["yourTimeStampKey"] as! TimeStamp
Run Code Online (Sandbox Code Playgroud)
而不是
let timeStamp = document["yourTimeStampKey"] as! FieldValue
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |