Repolode
Instagram

Instagram/IGListKit

Фреймворк Instagram на основе данных для создания быстрых и гибких списков в iOS с автоматическим вычислением различий.

Звёзды
13,080
Форки
1,540
Открытые issues
65
Последний коммит
3 дня назад

Что это?

IGListKit — фреймворк на Objective-C для создания списков на базе UICollectionView. Вместо ручного вызова performBatchUpdates или reloadData разработчики описывают данные, а фреймворк вычисляет различия между прежним и новым состоянием и применяет обновления к коллекции.

Фреймворк отделяет модели данных от логики представления с помощью контроллеров секций. Благодаря им одна коллекция может содержать разные типы данных и переиспользуемые ячейки или компоненты. Независимый алгоритм сравнивает элементы, а разработчики могут настраивать способ сравнения моделей. Компоненты для вычисления различий поддерживают iOS, tvOS и macOS; также предусмотрена полноценная совместимость со Swift.

IGListKit поддерживает команда инженеров Instagram, и фреймворк используется в приложении Instagram. Его можно установить через CocoaPods, Carthage и Swift Package Manager; примеры приложений находятся в каталоге Examples.

Ключевые возможности

  • 01Автоматически вычисляет различия и применяет пакетные обновления к UICollectionView
  • 02Поддерживает коллекции с разными типами данных с помощью контроллеров секций
  • 03Настраиваемое сравнение моделей
  • 04Независимый алгоритм вычисления различий, который можно использовать отдельно
  • 05Полноценная совместимость со Swift

Сценарии использования

  • Создание списков в стиле ленты или списков со смешанным содержимым в приложении для iOS, где данные часто меняются
  • Замена ручной логики performBatchUpdates и reloadData в существующих коллекциях
  • Перевод экранов с табличной разметкой на коллекционные макеты

Быстрый старт

  1. 1

    Добавьте pod IGListKit в Podfile

    pod 'IGListKit', '~> 5.2.0'
  2. 2

    Добавьте Swift Package через Xcode, используя URL пакета

  3. 3

    Откройте пример приложения из каталога Examples, чтобы попробовать его

Что важно знать

  • Поддерживаются только iOS, tvOS и macOS; на macOS доступны только компоненты diffing.
  • Требуется iOS 11.0 или новее и Swift 5.1 или новее.
  • Написан на Objective-C, поэтому пользователям Swift нужна совместимость между языками.

Темы

Частые вопросы

Что такое IGListKit?
Фреймворк Instagram на основе данных для создания быстрых и гибких списков в iOS с автоматическим вычислением различий. IGListKit — фреймворк на Objective-C для создания списков на базе UICollectionView. Вместо ручного вызова performBatchUpdates или reloadData разработчики описывают данные, а фреймворк вычисляет различия между прежним и новым состоянием и применяет обновления к коллекции.
IGListKit можно использовать бесплатно? Какая у него лицензия?
IGListKit распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
IGListKit всё ещё поддерживается?
Активно поддерживается. Последний коммит в IGListKit — 3 нояб. 2026 г..
Для чего можно использовать IGListKit?
Создание списков в стиле ленты или списков со смешанным содержимым в приложении для iOS, где данные часто меняются Замена ручной логики performBatchUpdates и reloadData в существующих коллекциях Перевод экранов с табличной разметкой на коллекционные макеты
Как установить IGListKit?
Добавьте pod IGListKit в Podfile: pod 'IGListKit', '~> 5.2.0' Добавьте Swift Package через Xcode, используя URL пакета Откройте пример приложения из каталога Examples, чтобы попробовать его
Где скачать IGListKit?
Исходный код и инструкции по установке — на GitHub: https://github.com/Instagram/IGListKit

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты