Mobile application for test assignment
========
Нужно написать приложение, в котором единственный экран[1]. На нём:
- Картинка
- Метка
- Текстовое поле
- Кнопка загрузки
- Кнопка отмены;
- Кнопка увеличения счётчика на 1.
Картинка:
- Видно плейсхолдер на старте;
- Видно индикатор загрузки, если картинка загружается; - После загрузки видно картинку.
Метка:
- Видно значение целочисленного счётчика, на старте 0.
Текстовое поле:
- На старте содержит в себе ссылку на любую картинку из интернета.
Кнопка загрузки:
- Активна, если поле не пустое;
- Неактивна, если загружается картинка;
- Неактивна, если картинка загрузилась, и поле не менялось.
Кнопка отмены загрузки:
- Нажатие отменяет загрузку;
- Неактивна, если загрузка не идёт;
- Активна, если картинка загружается.
Кнопка увеличение счётчика:
- Увеличивает целочисленный счётчик на 1 и обновляет метку.
- Eсли счётчик делится на два, то все кнопки кроме кнопки увеличения счётчика неактивны. Иначе состояние определяется другими правилами Интерфейс не должен блокироваться при сетевых операциях.
[1] Не обязательно Описать приложение в одной из систем управления зависимостями (cocoapods или spm) и поставлять как framework. Должен быть проект Example, в котором интегрирован описанный swift модуль.