从Firebase Swift读取通过Autoid存储的数据

时间:2017-05-17 21:51:23

标签: ios swift firebase firebase-realtime-database

我正在尝试使用swift访问firebase中通过childByAutoID存储的数据内容。目前我对此非常陌生,我只是打印出snapshot.value的值。我希望能够访问存储在每个ID中的两个键值对。

这是我目前的代码:

override func viewDidLoad() {
        super.viewDidLoad()

        let ref = FIRDatabase.database().reference()

        ref.child("Phrases").observeSingleEvent(of: .value, with: {
            snapshot in

            let value = snapshot.value as? NSDictionary

            print(value)

        })



    }

这是输出:

Optional({
    "-KkNM7b33sqba0XF-Nob" =     {
        phrase = "Bonjour!";
        translation = "Hello!";
    };
})

我希望能够访问值[“词组”]和翻译。

我该怎么做?

编辑:这是db:enter image description here

的照片

1 个答案:

答案 0 :(得分:2)

我通常这样做的方式是:

ref.child("Phrases").observeSingleEvent(of: .value, with: { snapshot in

 let value = snapshot.value as! [String:Any]
 let name = value["phrase"] as? String ?? ""
})

或者你可以先解开它

ref.child("Phrases").observeSingleEvent(of: .value, with: { snapshot in

  if let value = snapshot.value as? [String:Any] {
    let name = value["phrase"] as? String ?? ""
  }
})