我有一个tableview,显示参考的孩子。如何删除子项时如何更新tableview?孩子可以从其他设备中删除,我希望tableview自动更新。我知道有观察.childRemoved但不会放弃确定如何使用它来更新tableview。
答案 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)
}
希望这有帮助。