ServerValue.timestamp()
回报[AnyHashable : Any]
。如何将其转换为Double
,这样我就可以创建一个带有时间戳的日期。
这并不是 Firebase 时间戳的工作原理。
它实际上所做的是将时间戳写入节点,但在写入之后您才能访问它。
要访问它,请将观察者附加到该节点,以便在写入时间戳时,它将在快照中返回。
所以首先我们定义一个var
let kFirebaseServerValueTimestamp = [".sv":"timestamp"]
然后将观察者附加到节点,以便在写入时间戳时,我们会收到该事件的通知
func attachObserver() {
let timestampRef = self.ref.child("timestamp")
timestampRef.observe(.value, with: { snapshot in
if snapshot.exists() {
let ts = snapshot.value as! //Int? Double? String?
print(ts)
}
})
}
以及写出时间戳的函数,导致上述观察者接收事件
func doTimestamp() {
let timestampRef = self.ref.child("timestamp")
timestampRef.setValue(kFirebaseServerValueTimestamp)
}
希望有帮助 - 如果需要更多信息,请发表评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)