2016-03-25 18 views
-1

私はSwift Firebaseチュートリアルhttps://www.raywenderlich.com/109706/firebase-tutorial-getting-startedに従っていましたが、いくつかの問題がありました。Firebaseチュートリアル致命的なエラー:オプションの値をアンラッピングしている間に予期せぬ結果が発生しました。

私が実行しようとすると、私は「致命的なエラーが発生します:予期せず任意の値をアンラップしながら、私が代わりにコードの写真を投稿するためすみませんが、どこから始めればわからなかった

nilを発見しませんでしたプロジェクト全体をコピー/貼り付けたいここ

はGitHubの上に掲載完全なプロジェクトです。 https://github.com/kjg531/parasnews

stacktrace

enter image description here

enter image description here

+0

あなたのポストは、コードのテキストスニペット、クラッシュしている行の周り、そしてテキストバージョンのFirebaseデータで更新できますか?それは、再入力する必要がないので、私たちに多くの時間を節約します。このクラッシュは、あなたの構造だけでなく、他のものによっても引き起こされる可能性がありますが、構造を見ることなく、言うことは難しいです。 – Jay

+0

* name *変数を見てみるとよいでしょう。暗黙的にラップされたオプションがnilで、ラップされた値にアクセスしようとするとランタイムエラーが発生することに注意してください。私はあなたの質問からコピー/貼り付けできないので、私はコメントとしてこれを行うでしょう:私は、init(snapshot ...メソッド内のすべての変数代入をコメントアウトし、それをprint( "\\"スナップショット(と名前)が有効かどうかを調べるには – Jay

答えて

0

は私が考える「名前」キーが存在しないか、そう「名前」は、キーは、それは意志自動設定nilを存在していない場合は、この

init(snapshot: FDataSnapshot) { 
    key = snapshot.key 
    name = snapshot.value["name"] as? String 
    addedByUser = snapshot.value["addedByUser"] as? String 
    completed = snapshot.value["completed"] as? Bool 
    ref = snapshot.ref 
    } 

のようなコードを書くfirebaseに追加されませんモデルクラスの名前を指定します。

+0

これも試しました。viewDidAppear()にヒットするとすぐにクラッシュします。 –

0

次のようなコードを書く必要があります。このsnapshot.valueに

name = snapshot.value!["name"] as? String 
addedByUser = snapshot.value!["addedByUser"] as? String 
completed = snapshot.value!["completed"] as? Bool 

変更snapshot.value [ "blablaを"] [ "blabla"]!。 これはうまくいくはずです

関連する問題

 関連する問題