显示基于TableView的手动输入数据单击使用Firebase

时间:2017-12-21 20:59:20

标签: uitableview firebase firebase-realtime-database

我有一个应用程序,其中包含我手动输入Firebase的数据列表。以下是Firebase数据库的图片:

enter image description here

当用户选择索引行时,它会进入另一个视图控制器。在该视图控制器内部有一个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!)
})

1 个答案:

答案 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")
    }
})