2017-08-16 72 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) 
} 

希望這會有所幫助。