使用Firebase的.childByAutoID()生成ID

时间:2018-03-06 08:02:40

标签: swift firebase firebase-realtime-database

要向Firebase添加新推文,我每次都会创建一个新的Tweet结构,创建一个字典,然后使用“setValue”将字典推送到Firebase。要生成“tweetID”,我使用Firebase的“childByAutoID”,这意味着我事先不知道ID。然而,当我去获取Tweets以便我可以在客户端显示它们时,我理想地想要提取原始数据并将其放回到Tweet结构中,该结构缺少“tweetID”属性。

我考虑将“tweetID”包含在Tweet结构中作为可选/将其初始设置为nil(下面已注释掉),然后在我去检索推文时设置它,但我想看看是否有更好的方式。

struct Tweet {
    // tweetID: String?
    createdAt: String
    message: String
    creator: String

    func createDict() -> [String : String] {
        return [
            "createdAt": self.createdAt,
            "message": self.message,
            "creator": self.creator
        ]
    }
}

希望这是有道理的。如果没有,请告诉我,我会尽力澄清。我是否正确地思考这个问题?我有兴趣听听你们过去如何处理这个问题?提前谢谢!

0 个答案:

没有答案