` 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呼び出しで発生します。それはゼロをアンラップする。Firebase xcodeをクラッシュさせずに既存のデータベースに新しいキー/値を追加します。
私は、既存のFirebaseデータベースに新しいキー/値を適用しようとしています。 次に、私のテーブルビューにエントリを表示しようとすると、unwrapでnilを返してクラッシュします。私はなぜこれが起こっているのかを知っています。それは、前のデータには、今後ノードに含める新しいキー/値がないためです。私はletとguardのような多くの異なるものを試してみました。新しいキー/値を追加するにはどうしたら、テーブルビューに新しい値を持たないエントリを読み込ませることができますか?
私は現在のノードのイメージを含み、ノードに「RatingsID」を追加します。私がするとき、私はアンラップnilエラーを取得します。前新しいキー/値
をテストするために割り当てられています! – ROKOKO
問題が発生している場所にコードを含めてください。また、エラーが発生している行のコードも示してください。 [最小限で完全で検証可能なサンプルを作成する方法](https://stackoverflow.com/help/mcve) – Jay
を参照してください。コードを追加しました。私はすでに問題が何かを知っています、私の問題は、新しいフォーマットのすべてのエントリをやり直すことなく、格付けIDのキー値を持っていない古いエントリをどう扱うかです。つまり、将来的に好きなものを追加し、必要に応じてノードに従うということで、私のキーバリューのペアを適合させたいと思っています。 – ROKOKO