我有一个应用程序,其中包含我手动输入Firebase的数据列表。以下是Firebase数据库的图片:
当用户选择索引行时,它会进入另一个视图控制器。在该视图控制器内部有一个tableview,我想用我选择的“name”中的数据填充它。
例如,如果我从[acct0]中选择“name”,我希望“name”和“genre”也出现在新的tableview中。
目前,我正在尝试根据前一个视图控制器中的选择打印数据。
let user = User()
ref?.child("FeaturedAccounts/AccountNames").child(user.name!).observeSingleEvent(of: .value, with: { (snapshot) in
let userDict = snapshot.value as! [String: Any]
let genre = userDict["genre"] as! String
print("Genre: \(genre)")
print(user.name!)
})
答案 0 :(得分:0)
您的查询对我来说是正确的。没有更多信息,很难确切地说出了什么问题。以下是一些可用于帮助调试问题的代码。如果您发布更多代码或准确解释您的查询目前正在发生什么,我可以提供更多帮助。
let user = User()
let ref = Database.database().reference()
ref.child("FeaturedAccounts").child("AccountNames").child(user.name!).observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.exists() {
print(snapshot.value)
}
else {
print("Query returned no data")
}
if let userDict = snapshot.value as? [String: AnyObject] {
if let genre = userDict["genre"] as? String {
print("Genre: \(genre)")
}
else {
print("could not cast genre to string")
}
}
else {
print("Could not cast userDict")
}
})