Как наблюдать только за последним персонажем в Firebase - PullRequest
0 голосов
/ 02 ноября 2019

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

let ref = Database.database().reference()
ref.observe(DataEventType.value) { (snapshot) in
    if !snapshot.exists() { return }
    let book = snapshot.childSnapshot(forPath: "book").value
    self.text.text = book as! String
}

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

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

1 Ответ

2 голосов
/ 02 ноября 2019

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

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

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