Ios 从Firebase然后从tableView删除时出现问题
我使用以下函数删除Firebase中的条目和tableView中的子条目 问题是,当执行此操作时,它会按预期从Firebase中删除条目,但会从tableView中删除两(2)个条目(在Firebase中实际选择删除的条目将被永久删除)其中,当我在ViewController上来回导航时,tableView中的另一个条目将重新出现 我不知道为什么首先要从tableView中删除两个条目!?谁能告诉我Ios 从Firebase然后从tableView删除时出现问题,ios,swift,uitableview,firebase,Ios,Swift,Uitableview,Firebase,我使用以下函数删除Firebase中的条目和tableView中的子条目 问题是,当执行此操作时,它会按预期从Firebase中删除条目,但会从tableView中删除两(2)个条目(在Firebase中实际选择删除的条目将被永久删除)其中,当我在ViewController上来回导航时,tableView中的另一个条目将重新出现 我不知道为什么首先要从tableView中删除两个条目!?谁能告诉我 func handleDeletePlayer(alertAction: UIAlertActi
func handleDeletePlayer(alertAction: UIAlertAction!) -> Void {
if let indexPath = deletePlayerIndexPath {
// Delete Firebase entry
self.ref.child("\(players[indexPath.row])/\(poolID)").removeValue(completionBlock: { (error, reference) in
if error != nil {
print("Failed to Delete Player: ", error!)
//
return
}
self.tableView.beginUpdates()
self.players.remove(at: indexPath.row)
// Note that indexPath is wrapped in an array: [indexPath]
self.tableView.deleteRows(at: [indexPath as IndexPath], with: .automatic)
//
self.deletePlayerIndexPath = nil
//
self.tableView.endUpdates()
})
}
}
似乎您在从Firebase DB获取数据以在TableView中显示时使用了观察事件,实际上这里发生的是当您运行处理程序删除一个条目时,数据被删除两次,一次从Firebase DB中删除,然后更新TableView,然后您的代码执行您编写的DeleteRow,只需尝试省略self.tableviews.deleterows行,希望它对Firebase的实时更新有所帮助