Ios 从Firebase然后从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

我使用以下函数删除Firebase中的条目和tableView中的子条目

问题是,当执行此操作时,它会按预期从Firebase中删除条目,但会从tableView中删除两(2)个条目(在Firebase中实际选择删除的条目将被永久删除)其中,当我在ViewController上来回导航时,tableView中的另一个条目将重新出现

我不知道为什么首先要从tableView中删除两个条目!?谁能告诉我

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的实时更新有所帮助