Обновить
10
0

iOS Team Lead

Отправить сообщение

Создание XCFramework из SPM пакета

Время на прочтение4 мин
Охват и читатели1.4K

Привет, Хабр! Я Николай Чурянин, начальник отдела разработки приложений для юридических лиц.

Как-то нам в голову пришла мысль подключать зависимости в виде собранных библиотек и тем самым не тратить время на пересборку редко изменяемых зависимостей. В данной статье рассмотрим, как создавать XCFramework из SPM пакета.

Читать далее

Продолжаем избавляться от шаблонного кода: переиспользуемый делегат табличных экранов

Время на прочтение8 мин
Охват и читатели2.4K

Мы продолжаем сражаться с шаблонным кодом в табличных экранах iOS-приложений. 

В предыдущих статьях мы описали мотивы и подход, используемый для решения проблемы дублирования кода из контроллера в контроллер. Также мы показали детальную реализацию и возможности использования источника и провайдера данных для таблиц, которые позволяют ускорять разработку табличных экранов за счет переиспользования реализации протокола `UITableViewDataSource` в соответствии с принципами SOLID.

Однако, помимо источника данных для таблиц, почти в каждом экране надо реализовывать  делегат (табличный делегат или делегат коллекции). Его методы вызываются при взаимодействии пользователя с таблицей или коллекцией, например при нажатии на ячейку.  А значит, он тоже, как и источник данных, является причиной насыщения проектов шаблонным кодом.

В этой статье рассмотрим, как избавиться и от такого кода. 

Читать далее

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS

Время на прочтение10 мин
Охват и читатели5.5K

Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:

1) реализация табличного источника данных (UITableViewDataSource);

2) реализация табличного делегата (UITableViewDelegate);

3) реализация обратных уведомлений вью об изменениях данных;

4) типичный код по работе с различными коллекциями (плоские, секционные списки на основе массивов, упорядоченных множеств и прочих коллекций) и преобразование их к табличным структурам для источника данных коллекции;

5) все предыдущие пункты придётся повторить, если вы вдруг решите использовать UICollectionView.

Такое большое количество шаблонного кода значительно увеличивает время разработки, тестирования и ревью. Для уменьшения time-to-market мы в ПСБ создали микромодуль, который скрывает в себе весь шаблонный код. Новый модуль представляет собой набор абстрактных реализаций, лёгких в переиспользовании и достаточно универсальных для использования в 90% общих задач. В этой статье расскажем подробности.

Читать далее

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность