ios - Firebase 在 Swift 3 中访问快照值错误

标签 ios firebase firebase-realtime-database swift3

我最近升级到 swift 3,在尝试从快照观察事件值访问某些内容时遇到错误。

我的代码:

ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in

    let username = snapshot.value!["fullName"] as! String
    let homeAddress = snapshot.value!["homeAddress"] as! [Double]
    let email = snapshot.value!["email"] as! String
}

错误与上述三个变量有关,并指出:

类型 'Any' 没有下标成员

任何帮助将不胜感激

最佳答案

我认为您可能需要将 snapshot.value 转换为 NSDictionary

ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in

    let value = snapshot.value as? NSDictionary

    let username = value?["fullName"] as? String ?? ""
    let homeAddress = value?["homeAddress"] as? [Double] ?? []
    let email = value?["email"] as? String ?? ""

}

您可以查看 firebase 文档:https://firebase.google.com/docs/database/ios/read-and-write

关于ios - Firebase 在 Swift 3 中访问快照值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40567438/

相关文章:

ios - 来自 block 的 @autoreleasepool 中的 EXC_BAD_ACCESS

swift - 我如何在 firebase 函数之外访问 firebase 变量

android - 检索 Firebase 数据库中存储的 url 时,应用程序崩溃并给出错误 Can't conversion object of type java.lang.String to type android.net.Uri

swift - Firebase 有时只提供我保存的值的一部分,有时则提供全部内容

ios - 什么是自动布局中的乘数和常数?

ios - 这个下划线在 Swift 中是什么意思?

android - 使用 Firebase 实时数据库时如何将用户从非授权转换为授权的最佳方法

java - 单击单选按钮后如何更新 Firebase 中的数据?

firebase - Google Firebase 中的自定义身份验证

ios - 如何在 Swift 3/4 中通过单击按钮使图像旋转?