- Swift
- UIKit
- MVC
Написать приложение для iOS. Приложение должно состоять из одного экрана со списком. Список данных в формате JSON приложение загружает из интернета по ссылке, необходимо распарсить эти данные и отобразить их в списке.
- при старте МП загружаем данные json по ссылке, сохраняем в локальный кэш. Парсим, строим модель данных для таблицы, показываем таблицу, при скролле асинхронно догружаем картинки и кэшируем их локально.
- Картинки каждый раз сначала пытаемся показать из кэша. Если пусто, то грузим с сервера
- при старте МП с нуля (после срубания из памяти) сразу же чистим кэш картинок и json данные. Делаем в этом случае имитацию работы "с нуля", как после первичной установки приложения
- локальный поиск должен идти по title и subtitle данных для ячеек таблицы. При поиске на экране остаются в таблице только удовлетворяющие поиску ячейки.
- на время первичного отсутствия картинки в ячейке в ее потенциальном центре до загрузки отображается активный activity indicator
- Используем MVVM для работы с таблицей, в проекте должен быть класс playListDTO Decodable для Парсинга данных json, playListModel - инициализируется через playListDTO, viewModel для таблице на основе данных playListModel, Картинки и данные json кэшируем просто на диск в виде файлов.
- при долгом нажатии на ячейку должно появиться стандартное контекстное попап меню с двумя пунктами "редактировать" и "скрыть". при нажатии редактировать должна появиться клавиатура, над ней поле вода текста (сразу заполнено текущим значением title из ячейки) и справа кнопка "готово". Нажатие на кнопку должно убирать клавиатуру и менять title в редактируемой ячейке
- все делаем в коде, без сторибордов и xib, только autolayout