/ImageLoader

Mobile application for test assignment

Primary LanguageSwiftMIT LicenseMIT

ImageLoader

Mobile application for test assignment

========

Нужно написать приложение, в котором единственный экран[1]. На нём:

  • Картинка
  • Метка
  • Текстовое поле
  • Кнопка загрузки
  • Кнопка отмены;
  • Кнопка увеличения счётчика на 1.

Картинка:

  • Видно плейсхолдер на старте;
  • Видно индикатор загрузки, если картинка загружается; - После загрузки видно картинку.

Метка:

  • Видно значение целочисленного счётчика, на старте 0.

Текстовое поле:

  • На старте содержит в себе ссылку на любую картинку из интернета.

Кнопка загрузки:

  • Активна, если поле не пустое;
  • Неактивна, если загружается картинка;
  • Неактивна, если картинка загрузилась, и поле не менялось.

Кнопка отмены загрузки:

  • Нажатие отменяет загрузку;
  • Неактивна, если загрузка не идёт;
  • Активна, если картинка загружается.

Кнопка увеличение счётчика:

  • Увеличивает целочисленный счётчик на 1 и обновляет метку.
  • Eсли счётчик делится на два, то все кнопки кроме кнопки увеличения счётчика неактивны. Иначе состояние определяется другими правилами Интерфейс не должен блокироваться при сетевых операциях.

[1] Не обязательно Описать приложение в одной из систем управления зависимостями (cocoapods или spm) и поставлять как framework. Должен быть проект Example, в котором интегрирован описанный swift модуль.