FileManager
Данный компонент который отвечает за сохранение и удаление файлов во времененной папке в файловой системе.
На входе получает файл для сохранения либо картинку, возвращает сигнал с результатом сохранения.
ContentPaginator
Данный компонент используется для реализации постраничной загрузки контента с взаимной блокировкой выполняемых команд.
В качестве входных параметров необходим размер загружаемой страницы и делегат реализующий протокол продюсера.
При выполнении одной из команд вторая блокируется.
Например если выполняется команда загрузки по pull-to-refresh (обновление списка сверху), то загрузка следующей страницы при скролле блокируется.
В данном случае решается проблема асинхронного получения пересекающихся данных и их последующее кэширование(в моем случае это CoreData)
NotificationManager
Данный компонент используется для отправки локальных уведомлений внутри приложения.
В компоненте реализована проверка версии ОС: для версий выше iOS 10 используется новая версия фереймворка для работы с нотификациями.
EmptyPlaceholder
Компонент отвечающий за отображение плейсхолдера(фонового изображения) при отсутствии контента для отображения.
При создании этого компонента необходимо в параметрах передать делегата, датасорса, фоновую картинку, модоль которая содержит в себе контент, и минимальное количество элементов.
Делегат - при обновлении контента в модели получает необходимую вью для отображения
Датасорс - предоставляет компоненту тексты для отображения (заголовок и сообщение)
Модель - должна реализовать протокол CountableViewModel и отправлять событие при изменении конетента
Фоновую картинку - используется в качестве фонового изображения вью которую получит делегат
Минимальное количество элементов - этот параметр указыает при каком минимальном количестве элементов необходимо отобразить плейсхолдер
Так же данный компонет может запускать анимацию активити индикатора.
ShareManager
Используется для шаринга данных приложением.
Принимает модель с данными для шаринга и отвечает за отображения поп-апа для шаринга
UIView+Layer
Категория позволяющая задать скруглений и бордюры у вьюшек в IB.
UIView+XibFile
Категория для простой загрузки вьюшек из xib'ов