“ViewController”类型的值没有成员'ref'与Firebase

时间:2017-04-26 09:27:51

标签: swift firebase firebase-realtime-database ref writing

我正在尝试使用Firebase将数据写入实时数据库,但是我过去已经正确地完成了这项工作 - 但我似乎无法让它正常工作。这是产生我收到的错误的函数:

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

产生错误:

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

我已经尝试过在这里阅读建议以及大量文档,但似乎无法修复此错误。感谢。

编辑: 我尝试在最后一行的开头删除'self',但是这导致了以下错误:

Type 'user' has no member 'uid'

这同样让我感到困惑。

2 个答案:

答案 0 :(得分:0)

如果您想访问其user媒体资源,则

FIRUser类型应为uid

有关FIRUser的更多信息,请参阅THISTHIS文档。

答案 1 :(得分: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