Часто в мобильном приложении необходимо реализовать следующий функционал:
Решить эту задачу сильно упрощает архитектурный подход MVVM и фреймворки RxSwift, CoreData.
Описанный ниже подход использует принципы реактивного программирования и не привязан исключительно к RxSwift и CoreData. И при желании может быть реализован с помощью других инструментов.
- Выполнить асинхронный запрос
- Забиндить результат в главном потоке на различные view
- Если нужно, то асинхронно обновить базу данных на устройстве в фоновом потоке
- Если возникают ошибки при выполнении этих операций, то показать уведомление
- Соблюсти принцип SSOT для актуальности данных
- Всё это протестировать
Решить эту задачу сильно упрощает архитектурный подход MVVM и фреймворки RxSwift, CoreData.
Описанный ниже подход использует принципы реактивного программирования и не привязан исключительно к RxSwift и CoreData. И при желании может быть реализован с помощью других инструментов.