2017-08-16 73 views
0

我有一个显示参考子项的tableview。如何在小孩被移除时更新桌面视图?孩子可以从其他设备中删除,我希望自动更新tableview。我知道有观察.childRemoved但不能确定如何使用它来更新tableview。Firebase iOS Swift:删除子项后更新TableView

+0

你可以使用'FUITableViewDataSource'('FirebaseDatabaseUI') – Codus

+0

刚刚刷新你的tableView在数据库处理程序结束您使用的是让孩子们 –

回答

1

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

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

通过使用: self.tableView.reloadData()

例如来自一个我正在玩同步列表的旧项目。

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() 
} 

每当“购物清单”级别更新时,这个观察代码块被调用。 self.tableView.reloadData()回忆所有的功能,如

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

希望这会有所帮助。