IOS, Удалить данные из базы данных Firebase при ударе, чтобы удалить ячейку - PullRequest
0 голосов
/ 06 мая 2018

Это на ios

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

    func tableView(_ tableView: UITableView, commit editingStyle: 
    UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete {

        self.postData.remove(at: indexPath.row)
        tableView.deleteRows(at: [indexPath], with: .fade)
        Database.database().reference().child("Posts").removeValue()

}

}

Ответы [ 3 ]

0 голосов
/ 06 мая 2018

Сначала сохраните идентификатор сообщения в модели сообщения, Вы можете получить ключ (id) любого объекта по

let postID = postSnapshot.key  //if you looping the array of snapshot

после этого вы можете получить тот же идентификатор сообщения в методе tableView Delegate

  func tableView(_ tableView: UITableView, commit editingStyle: 
UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
    let postID = postData[indexPath.row].postKey //Assuming that you saving postID as a string.

    self.postData.remove(at: indexPath.row)
    tableView.deleteRows(at: [indexPath], with: .fade)
    Database.database().reference().child("Posts").child(postID).removeValue()
 }
}
0 голосов
/ 14 сентября 2018
use like this 
   **to set like this**
    self.postkey.append(snapshot.key)

затем

func tableView(_ tableView: UITableView, commit editingStyle:
    UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete {
        let postID =  self.postkey.remove(at: indexPath.row)
        self.myList.remove(at: indexPath.row)
        self.myTableView.reloadData()
        Database.database().reference().child("List").child(postID).removeValue()
    }
}
0 голосов
/ 06 мая 2018

Вы должны удалить с идентификатором сообщения

let postID = // set id
Database.database().reference().child("Posts").child("\(postID)").removeValue()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...