Тестовое задание
Подгрузка данных происходит с сервера, с помощью REST. Реализована пагинация и кастомный активити индикатор с анимацией. При запросе данных, сервер случайным образом генерирует: идеальный ответ, ответ с ошибкой или долго отвечает на запрос. Реализована обработка ошибок, с возможностью повторного запроса из алерта. Как только данные на сервере заканчиваются, подгрузка данных прекращается и запроса новых больше не происходит.
По нажатию на одну из кнопок, отображается стандартный алерт с информацией о том, какая кнопка была нажата, и id компании, к которой относится эта карточка лояльности.
Цвета карточек приходят с сервера случайным образом.
- Активити индикатор нарисован с помощью UIBezierPath.
- Многопоточность приложения построена на GCD.
- Приложение написано на архитектуре MVP.
- Работа с сетью происходит с помощью REST.
- Вместо стандартного data source у теблицы используется UITableViewDiffableDataSource
- Вёрстка итерфейса сделана полностью кодом с помощью AutoLayout
- Весь дизайн взят из ТЗ и реализован с помощью pixel perfeсt, так как размеров и шрифтов предоставлено не было.
Clone and run project in Xcode 14 or newer