快速访问嵌套键/值对

时间:2018-10-28 23:27:45

标签: swift xcode firebase firebase-realtime-database

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

enter image description here

这是我的代码:

@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的值?

1 个答案:

答案 0 :(得分:0)

尝试:

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]。然后,您可以在字典中找到所需的值,就像始终以dictionary [“ key”]的方式访问它们一样。