swift - 显示来自 Firebase 的用户信息

标签 swift uitableview firebase

我想从 Firebase 读取和显示用户信息。 这是我的进度:

     class UserInfoViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {

        var ref: DatabaseReference!
       private var gotName = [""]


        @IBOutlet weak var tableView: UITableView!


        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return gotName.count
        }

        public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
        {
            let cell = tableView.dequeueReusableCell(withIdentifier: "UserInfoCell") as! UserInfoTableViewCell



            cell.nameLabel.text = gotName[indexPath.row]

            return cell
        }  



    override func viewDidLoad() {
        ref = Database.database().reference()

        let user = Auth.auth().currentUser!.uid
        ref?.child("users").child(user).observeSingleEvent(of: .value, with: { (snapshot) in

            guard let userDict = snapshot.value as? [String: Any],
                let name = userDict["Name"] as? String else {
                    return
            }

            //Declare variables for use
            self.gotName = [name]

        })

    }
}

Firebase 结构:

-users    
   -----5DzurQyzyIbXfFCbAxc4ynwizYJ2    
   ---------John Doe

我想让当前用户显示在nameLabel中

最佳答案

您已经正确编写了代码。
但是您必须在从 firebase 下载数据后重新加载您的 TableView 。
只需在您的 firebase 观察器中的 self.gotName = [name] 之后编写以下代码。

DispatchQueue.main.async {
    self.tableView.reloadData()
}  

希望对你有帮助

关于swift - 显示来自 Firebase 的用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51448689/

相关文章:

ios - 添加 appledoc 时出错

swift - 后退按钮中的单个空格不会更改图标 Xcode 项目

ios - 观察类中静态变量的值?

php - Firebase 索引.php

ios - Swift SpriteKit touchesBegan 检测右/左

uitableview - 如何确定分组 UITableView 的边距(或者更好,如何设置它)?

ios - 按下 UITableView "cell"时在文档中加载音频

ios - MSMessagesAppViewController 搞乱了 UITableViewController 滚动

ios - 如何从 Firebase 身份验证登录的 NSError 中获取错误消息

python - 将用户导入 Firebase 时密码错误(使用 SHA256 的 password_hash)