从数据库中获取特定数据并进行打印

时间:2017-11-29 00:30:55

标签: swift firebase firebase-realtime-database

我想从Firebase数据库中获取具有子名称" totalExercise"的特定值。并使用swift打印它。这是firebase数据库的当前内容。

enter image description here

这是我在swift中尝试获取并打印totalExercise值的代码

enter image description here

1 个答案:

答案 0 :(得分:1)

这是对您的问题的字面答案,但请阅读

let loginRef = self.ref.child("fblogintest-35707").child("Optional(\"gl8...\")")

loginRef.observeSingleEvent(of: .value, with: { snapshot in
    let val = snapshot.value as! [String: Any]
    let te = val["totalExercise"]
    print(te)
})

gl8是一个很长的字符串,我不想重新输入,所以只需从你的问题中插入。此代码将打印' 10'

话虽如此,Firebase结构和问题中的代码存在许多问题。

正如您所看到的,无论代码是什么,在您的问题中创建密钥都是将它们创建为Optionals,并且不应该以"可选的实际字符串(" gl8)来完成..")正在写入Firebase ..这就是为什么你在结构中看到“可选”一词的原因。

你应该对ref进行一些解包/错误检查吗?和用户?如果它们是零(它们是可选项),代码也不会崩溃。

如果你还没有这样做,请阅读Optionals,因为它们非常强大,但你必须围绕如何有效地实施它们来保护你的代码。