2017-04-26 15 views
0

Firebaseを使用してリアルタイムデータベースにデータを書き込もうとしていますが、過去に正しく行っていますが、動作させることはできません。私はこことやたらドキュメント上のアドバイスを読んで試してみましたが、ように見えることはできませんタイプ "ViewController"の値にFirebaseのメンバー 'ref'がありません

Value of type "DailyVC" has no member 'ref' 

:エラーを生成している

@IBAction func saveButton(_ sender: Any) { 
     var ref: FIRDatabaseReference! 
     ref = FIRDatabase.database().reference() 
     self.ref.child("user").child(user.uid).setValue(["test": "test"]) 
} 

:ここで私はrecievingだとエラーを生成している機能がありますこのエラーを修正してください。ありがとう。

編集:私は最後の行の先頭に「自己」を削除しようとした が、しかしこれは、次のエラーが発生しました:均等に私を混乱さ

Type 'user' has no member 'uid' 

+0

'self.ref.child ...' 'ref.childとを交換して...'。 'self.ref'は存在しません。 – shallowThought

+0

それは 'user 'のタイプ –

+0

@shallowThought私はこれを試しましたが、編集で追加しました - 私もどちらか分かりません新しいエラーが発生しました、ありがとうございます。 –

答えて

0

userのタイプはuidプロパティにアクセスする場合はFIRUserにする必要があります。

FIRUserについての詳細は、THISおよびTHISを参照してください。

0

あなたは 'user'変数を宣言した方法を提供していませんが、これを実行して動作します。また、データベース参照が変更されないので、定数に変更することを検討する必要があります。

@IBAction func saveButton(_ sender: Any) { 

    guard let user = FIRAuth.auth()?.currentUser else { return } 

    let ref = FIRDatabase.database().reference() 

    ref.child("user").child(user.uid).setValue(["test": "test"]) 
} 

これは、正常にデータベースに保存されているスクリーンショットです。

Screenshot of this data being saved to the database

関連する問題