Сбой базы данных вне диапазона при удалении массива ячеек таблицы за пределы диапазона - PullRequest
0 голосов
/ 10 декабря 2018

доброе утро У меня есть ошибка в моем проекте, из-за которой я не могу понять, что я делаю неправильно.каждый раз, когда я удаляю строку в indexpath, чтобы удалить дочернего элемента в firebase, я также получаю ошибку вне диапазона и сбой приложения.

  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    DataServices.instance.BOAT.observe(.value) { (dataUpdate) in
        DataServices.instance.getBoatFueled { (returnedBoats) in
            self.firstTbaleViewBoatArray = returnedBoats
            self.tableView1.reloadData()
            if self.firstTbaleViewBoatArray.count >= 1 {
                self.tableView1.isHidden = false
                self.tableView1.reloadData()
            } else {
                self.tableView1.isHidden = true
                self.tableView1.reloadData()
            }
        }
    }
}

, где я наблюдаю значение в firebase, чтобы увидеть, если что-нибудьбыл или добавлен или удален.так что просмотр таблицы может обновляться в режиме реального времени на всех устройствах

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
    let keys = firstTbaleViewBoatArray[indexPath.row].key
    DB_BASE.child("boat").child(keys).removeValue { (error, ref) in
        if error != nil {
            print("could not delete")
            return
        } else {
            self.firstTbaleViewBoatArray.remove(at: indexPath.row) //out of range error happened here
            self.tableView1.deleteRows(at: [indexPath], with: .fade)
            self.tableView1.reloadData()

        }
    }
}

, и именно здесь я получаю сбой вне диапазона

...