首页 > 解决方案 > 快速访问嵌套的键值对

问题描述

我正在尝试访问键 1 的值。这是我的 Firebase 图:

在此处输入图像描述

这是我的代码:

@IBAction func ridefinder(_ sender: Any) {

    let ref = Database.database().reference()
    ref.child("name/hi").observeSingleEvent(of: .value) { (snapshot) in
         print(snapshot.value as? [String:Any])
    }

当我运行它时,它会打印nil,但是当我将它稍微更改为:

@IBAction func ridefinder(_ sender: Any) {

    let ref = Database.database().reference()
    ref.child("name").observeSingleEvent(of: .value) { (snapshot) in
         print(snapshot.value as? [String:Any])
    }

它在里面打印两组键值对。

我如何才能访问hi名称内部键的值?

标签: swiftxcodefirebasefirebase-realtime-database

解决方案


尝试:

let ref = Database.database().reference()
ref.child("name").observeSingleEvent(of: .value) { (snapshot) in
     if let value = snapshot.value as? [String:Any], let hi = value["hi"] as? String { 
         print(hi)
     }
}

数据库引用中的值通过使用 snapshot.value 访问并被转换为 [String: Any]。然后你在字典中找到你想要的值,就像总是以字典[“key”]访问它们一样。


推荐阅读