OStack程序员社区-中国程序员成长平台

标题: ios - Firebase 服务器时间戳使 iOS 翻倍 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:51
标题: ios - Firebase 服务器时间戳使 iOS 翻倍

ServerValue.timestamp() 返回 [AnyHashable : Any]。如何将其转换为 Double,以便我可以创建带有时间戳的日期。



Best Answer-推荐答案


Firebase 时间戳的工作原理并非如此。

它实际上所做的是将时间戳写入节点,但在写入之后您才能访问它。

要访问它,请将观察者附加到该节点,以便在写入时间戳时,它将在快照中返回。

所以首先我们定义一个变量

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)
}

希望对您有所帮助 - 如果需要更多信息,请发表评论。

关于ios - Firebase 服务器时间戳使 iOS 翻倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44527008/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4