Удаление значений из базы данных Firebase из таблицы - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть база данных Firebase, которая имеет следующую настройку ниже (1). Я вытягиваю название Рынков следующим образом (2).

Затем я загружаю название рынков (в данном случае Афины и Делавэр) в табличное представление. (3)

Как я могу удалить строку из tableView и удалить эту строку из моей базы данных Firebase?

(1)
{
  "Markets" : {
    "Athens" : {
      "Item" : {
        "name" : "Beef",
        "price" : 10,
        "salePrice" : 3
      }
    },
    "Delaware" : {
      "Item" : {
        "name" : "Steak",
        "price" : 12,
        "salePrice" : 3
      }
    }
  }
}


(2)
let ref = Database.database().reference()
var myKey = [Any]()

    override func viewDidLoad() {
        super.viewDidLoad()

        ref.child("Markets").observeSingleEvent(of: .value, with: { (snapshot) in

            let allMarkets = (snapshot.value as! NSMutableDictionary).allKeys
            self.myKey = allMarkets
            self.tableView.reloadData()
            print(self.myKey, " This is the printing of my key")
        })

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        let allMarkets = myKey[indexPath.row]

        cell.textLabel?.text = allMarkets as? String
        return cell
    }

1 Ответ

0 голосов
/ 12 апреля 2019

Предполагая, что у вас есть наблюдатель на этих узлах Firebase, удалите узел в FireBase.Это вызовет событие .childRemoved в вашем приложении, передав ему узел, который был удален.Удалите это из источника данных tableView, а затем перезагрузите tableView.

Или

Удалите строку из Firebase, а затем удалите строку из источника данных tableView.Затем перезагрузите tableView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...