Попытка обновить firebase, но значение узла удаляется - PullRequest
0 голосов
/ 24 мая 2018

Во время выполнения этой функции firebase принимает мое логическое значение, но каким-то образом мое имя / значение узла удаляется.И когда я обновляю и запускаю его снова в моем симуляторе, данные удаляются из симулятора, но существуют в базе данных.Хотите знать, что пошло не так в моем коде , как показано на рисунке

func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration?
    {

    var x: Bool = false

    let acceptTitle = grocerys[indexPath.row].accepted  ? "Decline" : "Buy"
    let accept = UIContextualAction(style: .normal, title: acceptTitle) { (action, view, nil) in
        x = !x
        let values = ["accepted": x]
        self.databaseRef?.child(self.grocerys[indexPath.row].id).updateChildValues(values)

1 Ответ

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

Это происходит потому, что ранее ваш конкретный узел имел значение String.Но теперь вы обновляете этот узел с помощью Dictionary.

Итак, что здесь происходит:

Ранее:

-LDH9D... : "a string"

Сейчас:

-LDH9D... : 
     accepted : true

Чтобы вставить новое значение типа Dictionary в ключ, имеющий значение типа String, firebase удаляет ранее добавленные String.Поскольку вы не можете добавить к несоответствующему типу.

Но если этот узел имел ранее Dictionary, то это обновление не удалит эти данные.

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