我正在尝试使用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!";
};
})
我希望能够访问值[“词组”]和翻译。
我该怎么做?
的照片答案 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 ?? ""
}
})