【发布时间】:2017-12-13 05:44:14
【问题描述】:
` let query = ref?.child("Reviews").queryOrdered(byChild: "UserID").queryEqual(toValue: myUser.userId)
query?.observeSingleEvent(of: .value) { snapshot in
for child in snapshot.children {
let snap = child as! DataSnapshot
let dict = snap.value as! [String: Any]
let uid = dict["UserID"] as! String
let review = dict["Body"] as! String
let rating = dict["Rating"] as! String
let titleID = dict["TitleID"] as! String
let reviewID = dict["ReviewID"] as! String
let ratingID = dict["RatingID"] as! String
`
在 ratingID 调用数据库时发生错误。它解开 nil。
我正在尝试使用新的键/值来调整现有的 Firebase 数据库。 然后,我尝试在我的 tableview 中显示条目,但我遇到了 unwrap 返回 nil 的崩溃。我知道为什么会发生这种情况,这是因为以前的数据没有我想要包含在节点中的新键/值。我尝试了许多不同的事情,例如 if let 和 guard let 没有太多财富。如何添加新的键/值并且仍然让 tableview 读取没有新值的条目?
我包含当前节点的图像,并且我想向节点添加“RatingsID”。当我这样做时,我得到 unwrap nil 错误。
新键/值之前的数据库节点
【问题讨论】:
-
我在网上的任何地方都找不到对此的参考!
-
请包含您的代码,因为这就是问题所在,并指出错误发生在哪一行。请看How to create a Minimal, Complete, and Verifiable example
-
好的,我刚刚添加了代码。我已经知道问题出在哪里,我的问题是如何在不使用新格式重新完成所有条目的情况下满足没有评级 ID 键值的旧条目。即,如果我愿意,我希望将来能够调整我的键值对,比如添加喜欢和关注到节点。
标签: swift firebase firebase-realtime-database