更新/添加快照中嵌套子项时的Swift更新tableViewCell

时间:2017-10-31 10:40:17

标签: swift uitableview firebase-realtime-database

我在 firebase 中有 db ,如下所示: enter image description here

我制作了一个 tableViewController ,其中单元格会显示 partnerID 以及 users.count

这是我写的代码:

Database.database().reference().child("colleges").observe(.childAdded, with: { (snapshot) in
        if let dict = snapshot.value as? NSDictionary {
            let user = User()
            if let partnerID = dict["partnerID"] as? String {
                user.name = partnerID
            }
            if let samples = dict["users"] as? NSDictionary {
                user.count = samples.count
            }
            self.userList.append(user)
            DispatchQueue.main.async {
                self.tableView.reloadData()
            }
        }
    })

新用户添加到'用户'孩子,tableViewCell 中的 user.count 没有更新

如何更改代码以更新代码以实现此目的?

1 个答案:

答案 0 :(得分:0)

得到了Nishant的帮助。

这是更新后的代码:

Database.database().reference().child("colleges").observe(.value, with: { (snapshot) in
        self.userList.removeAll()
        if let dict = snapshot.value as? [String:NSDictionary] {
            for college in dict {
                let user = User()
                if let partnerID = college.value["partnerID"] as? String {
                    user.name = partnerID
                }
                if let samples = college.value["users"] as? NSDictionary {
                    user.count = samples.count
                }
                self.userList.append(user)
                DispatchQueue.main.async {
                    self.tableView.reloadData()
                }
            }
        }
    })