Как стать автором
Обновить
9
0

Пользователь

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

Swift under the hood: Generic implementation

Время на прочтение6 мин
Количество просмотров9K
Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docs

Каждый, кто писал на Swift использовал дженерики. Array, Dictionary, Set — самые базовые варианты использования дженериков из стандартной библиотеке. Как они представлены внутри? Расмотрим, как данная основополагающая возможность языка реализована инженерами Apple.

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Внедрение зависимостей с DITranquillity

Время на прочтение6 мин
Количество просмотров3.6K

Dependency Injection — довольно популярный паттерн, позволяющий гибко конфигурировать систему и правильно выстраивать зависимости компонентов этой системы друг от друга. Благодаря типизации, Swift позволяет использовать удобные фреймворки с помощью которых можно очень коротко описать граф зависимостей. Сегодня я хочу немного рассказать об одном из таких фреймворков — DITranquillity.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Универсальный JSONDecoder

Время на прочтение3 мин
Количество просмотров7.2K

На данный момент подавляющее большинство мобильных приложений являются клиент-серверными. Повсюду происходит подгрузка, синхронизация, отправка событий и основным способом взаимодействия с сервером является обмен данными посредством формата json.

Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии3

Обобщаем анимацию таблиц в iOS приложениях

Время на прочтение6 мин
Количество просмотров11K
image

Пользователи хотят видеть изменения


Анимированное обновление списков всегда было непростой задачей в iOS. Что неприятно, это всегда было рутинной задачей.

Приложения крупных компаний, таких как Facebook, Twitter, Instagram, VK, используют таблицы. Более того, почти каждое iOS приложение написано с использованием UITableView или UICollectionView и пользователи хотят видеть, что изменяется у них на экранах, по этой причине reloadData не подходит для обновления экрана. Посмотрев несколько уже имеющихся фреймворков для данной задачи, я удивился, как много они в себе обобщают, помимо расчета анимаций. Некоторые же вообще при вставке одного элемента в начало, радостно сообщали о перемещениях всех остальных элементов.

Начав решать проблему обобщения построения и запуска анимаций, я ещё не понимал такого количества наличия подводных камней в дебрях UIKit. Но обо всём по порядку.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии1

Информация

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