- Реализовать экран в соответствии с примером макета. Отступы, шрифты - на глаз по картине
- Данные для экрана парсить из json файла
- Элементы на сером фоне из примера и кнопка "Выбрать" кликабельные, крестик нет
- При нажатии на элемент он выделяется (отмечается синей галочкой) или отменяется
- Одновременно может быть отмечен только один элемент
- При нажатии кнопки выбора показывается алерт с названием выбраной услуги
- использовать внешние зависимости
- использовать SwiftUI
- не использовать Storyboard
- заюзать UICollectionView
- VIPER
- Ручная верстка без использования storyboard
- Использование UICollectionView, динамичный размер ячеек в зависимости от контента, ориентации устройства и размера экрана
- VIPER
В задании не было указано, что делать в случае, если в файле сразу несколько элементов считаются выбранными, в то время, как в задании сказано, что одновременно может быть отмечен только один элемент. В подобном случае выбранной считается первая встреченная ячейка с isSelected = true, остальным же элементам со значением поля isSelected = true присваивается isSelected = false, также печатается предупреждение о том, что найден более чем один отмеченный элемент.