Использую TableView для выгрузки данных из Firebase. При переходе на ячейку открывается окно, в котором я удаляю выбранную ячейку. Все ячейки удаляются без проблем, но последняя удаляется в firebase, но почему-то после удаления отображается в TableView. Почему это происходит? И как это исправить?
// КЛАСС TABLEVIEW
var posts = [Post]()
var refNotes: DatabaseReference!
override func viewDidLoad() {
DatabaseService.shared.postReference.observe(.value, with: { (snapshot) in
print("\n\n")
print(snapshot)
guard let postsSnapshot = PostsSnapshot(with: snapshot) else { return }
self.posts = postsSnapshot.posts
self.myTableView.reloadData()
})
}
// КЛАСС VIEWCONTROLLER
@IBAction func deleteEntity(_ sender: Any) {
createAlert(title: "Удаление записи", message: "Вы действительно хотите удалить запись?")
}
func createAlert (title:String, message:String)
{
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Да", style: UIAlertActionStyle.default, handler: { (action) in
alert.dismiss(animated: true, completion: nil)
let id = self.posts?.postID
self.deleteNote(id: id!)
self.dismiss(animated: true, completion: nil)
}))
alert.addAction(UIAlertAction(title: "Нет", style: UIAlertActionStyle.default, handler: { (action) in
alert.dismiss(animated: true, completion: nil)
print("Отмена")
}))
self.present(alert, animated: true, completion: nil)
}
func deleteNote(id: String){
refNotes = Database.database().reference().child("posts");
refNotes.child(id).setValue(nil)
}