@petrun

Как правильно изменять сосстояние объкта на предыдущих экранах?

Есть приложение по функционалу похожее на twitter.
Есть лента из которой можно перейти на юзера или твит, у юзеров могут быть ленты твитов на которые тоже можно перейти, из твита можно перейти в юзера и так далее. По идее вложенность может быть очень длинной.
Есть навигация назад я могу возвращаться на предыдущие экраны.
Но если в какой-то момент я ставлю лайк твиту. У меня меняется его состояние я должен прокинуть это на предыдущий экран, а с предыдущего еще на предыдущий и так далее. Но можно на каком-то экране забыть прокинуть и если встретится твит который я уже лайкнул его состояние будет неверным.
Как это сделать правильно?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
briahas
@briahas
ObjC, Swift, Python
Для этого надо писать приложение архитектурно поддерживающее такой функционал.
- либо нотификейшены слать сервисом и слушать всеми окнами
- либо через реактивщину подписываться на изменения моделей
- либо колбеками связывать экраны с сервисами
Ответ написан
Комментировать
alexgp13
@alexgp13
Руководитель ИТ-проектов
Эту проблему даже Facebook не решили)

Если серьезно, то единственный надежный способ решения - любое изменение писать на сервер (или в локальную базу, или в глобальную переменную) а при любом переходе между экранами перед отрисовкой экрана перечитывать возможные изменения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы