Swift Firebase обновляет старые данные - триггеры базы данных в реальном времени - PullRequest
0 голосов
/ 08 января 2019

На изображении ниже у меня есть сообщения в моем приложении, но когда пользователь говорит, что обновляет изображение своего профиля или имя, данные ниже становятся устаревшими данными. Я наткнулся на «Функции Firebase» и вижу, что могу синхронизировать эти данные, если использую Функции Firebase. Тем не менее, только зная Swift, я не уверен, как реализовать функции Firebase, чтобы синхронизировать мои сообщения с изменяющимися данными в профилях пользователей. Может ли кто-нибудь помочь мне указать правильное направление, как я могу реализовать это в своем проекте? Не нашли ни одного примера кода в swift или каких-либо учебных пособиях по этому вопросу. Любая помощь с благодарностью!

enter image description here

enter image description here

1 Ответ

0 голосов
/ 11 января 2019

Исходя из комментариев и структуры вопроса, причина, по которой данные устаревают, связана с тем, как они хранятся в Firebase.

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

Допустим, у нас есть пользовательский узел с пользователями, которые хранятся с UID пользователя в качестве ключа для каждого узла

users
   uid_0
     user_name: "Peter"
     user_age:  "32"
     gender:    "Male"
     business_name: "Peter's Plumbing Place"
     url: "http:...."
     type: "Customer"
   uid_1
     user_name: "Ralph"
     user_age:  "47"
     gener:     "Male"
     business_name: "Ralph's Repair Room"
     url: "http:...."
     type: "Employee"

тогда у нас есть сообщения

messages
   msg_0
     msg_text: "Here's a message!"
     from_uid: "uid_0"
     to_uid:   "uid_1"
     timestamp: "20180110"

Затем пользователь uid_1 добавляет наблюдателя запросов к узлу сообщений для любых сообщений, для которых to_uid равен uid_1, поэтому они уведомляются о входящем сообщении. Получив его, они также узнают, что оно было отправлено uid_0, и могут указать свое имя, изображение профиля, возраст и т. Д.

Таким образом, все данные синхронизируются и текут, а устаревшие данные не существуют.

Это типичная реализация структуры приложения обмена сообщениями.

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