要向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
]
}
}
希望这是有道理的。如果没有,请告诉我,我会尽力澄清。我是否正确地思考这个问题?我有兴趣听听你们过去如何处理这个问题?提前谢谢!