Swift 检索firebase中childByAutoID存储的数据
在firebase中,我试图通过使用childByAutoID()为数据提供唯一标识符来检索存储在firebase实时数据库中的数据,但问题是我不完全确定如何实现这一点Swift 检索firebase中childByAutoID存储的数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,在firebase中,我试图通过使用childByAutoID()为数据提供唯一标识符来检索存储在firebase实时数据库中的数据,但问题是我不完全确定如何实现这一点 func retData(){ rootRef.child("users").child(userID).ChildByAutoID().observeEventType(.Value){ (snap: FIRDataSnapshot) in self.simpleLabel.text = sn
func retData(){
rootRef.child("users").child(userID).ChildByAutoID().observeEventType(.Value){
(snap: FIRDataSnapshot) in
self.simpleLabel.text = snap.value?.description
}
}
Json数据结构
-userID
-childByAutoID
-player1
-email
如果您的JSON结构是:-
-users
-childByAutoID
-playerID
-email
使用:-
rootRef.child("users").observeEventType(.Value, withBlock: {(snap) in
if let userDict = snap.value as? [String:AnyObject]{
for each in userDict as [String: AnyObject] {
let autoID = each.0
//Here you retrieve your autoID
rootRef.child("users").child(autoID).child("player1").observeEventType(.Value, withBlock: {(playersDict) in
if let playerDictionary = playerDict.value as? [String:AnyObject]{
let emailID = playerDictionary["email"] as! String
//print(emailID)
}
})
}
}
})
什么是
userID
,因为我在你的Json树中没有看到它。我不确定我是否理解你想做什么ChildByAutoId()
是写入数据库时使用的方法,而observeEventType()
用于读取。你是否试图监听用户被添加到用户列表中的时间?忘记将其包含在问题中,@FrankvanPuffelen只是将数据检索到标签中。我为问题提交了错误的json结构,而它只是打印出整个json树,当我再次尝试打印输出时,代码由于一些奇怪的原因无法运行,它应该说player1和no,这两者都不是,只是一个用于电子邮件的父级。此外,它不会在您在回答中所说的打印(emailID)之间打印任何内容。如果它有效,可以-其他方式转到您的DB控制台单击仪表板右上角的三个点,单击导出JSON并将其作为文本粘贴到您的问题中。