Firebase iOS Swift:删除子项后更新TableView

时间:2017-08-16 01:00:34

标签: ios swift firebase

我有一个tableview,显示参考的孩子。如何删除子项时如何更新tableview?孩子可以从其他设备中删除,我希望tableview自动更新。我知道有观察.childRemoved但不会放弃确定如何使用它来更新tableview。

2 个答案:

答案 0 :(得分:2)

我用了观察childRemoved。然后在块中,我清空了数组,重新加载了tableview,并再次调用了ref.observe .childAdded。

ref.observe(.childRemoved, with: {(removedData) in 
            array.removeAll()
            tableView.reloadData()
            fetchUserRequests()
        })

答案 1 :(得分:1)

使用: self.tableView.reloadData()

e.g。来自我正在玩同步列表的旧项目。

self.ref.child("familys").child(currentUserData.family).child("list").observe(.value, with: { (DataSnapshot) in

        if DataSnapshot.hasChildren() == false{
            print("No list")
        }

        else{
            self.list = DataSnapshot.value as! [String]
        }
        self.tableView.reloadData()
}

每次出现“shoppinglist”更新级别的内容时,都会调用此观察代码块。 self.tableView.reloadData()会调用所有函数,例如

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

希望这有帮助。