Repolode
Instagram

Instagram/IGListKit

Instagram 开源的数据驱动 UICollectionView 框架,用于构建高效灵活的 iOS 列表。

Star
13,080
Fork
1,539
未关闭 Issue
65
最近提交
4天前

这是什么?

IGListKit 是一个基于 UICollectionView 构建列表的 Objective-C 框架。开发者只需描述数据,框架会自动计算新旧数据之间的差异并更新视图,无需手动调用 performBatchUpdates 或 reloadData。

框架通过 section controller 将数据模型与视图逻辑分离,同一个集合中可以容纳多种数据类型,并支持可复用的 cell 和组件。其差异计算算法与其他模块解耦,开发者还可以自定义模型的比较方式。框架支持 iOS、tvOS,差异算法组件也可用于 macOS,并与 Swift 完全互操作。

该项目由 Instagram 工程团队维护,并用于 Instagram 应用。支持通过 CocoaPods、Carthage 和 Swift Package Manager 安装,仓库的 Examples 目录提供示例应用。

核心功能

  • 01自动计算数据差异并对 UICollectionView 应用批量更新
  • 02通过 section controller 支持同一集合中的多种数据类型
  • 03可自定义模型的差异比较行为
  • 04差异算法与框架解耦,可独立使用
  • 05与 Swift 完全互操作

适用场景

  • 在 iOS 应用中构建数据频繁变化的信息流或混合内容列表
  • 替代现有集合视图中手动调用 performBatchUpdates 和 reloadData 的逻辑
  • 将基于表格的界面迁移到基于集合的布局

快速上手

  1. 1

    将 IGListKit pod 添加到 Podfile

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

    在 Xcode 中通过包地址添加 Swift Package

  3. 3

    打开 Examples 目录中的示例应用进行体验

使用前须知

  • 仅支持 iOS、tvOS 和 macOS,其中 macOS 仅包含差异比较组件。
  • 需要 iOS 11.0 或更高版本以及 Swift 5.1 或更高版本。
  • 使用 Objective-C 编写,Swift 用户需依赖互操作。

标签

常见问题

IGListKit 是什么?
Instagram 开源的数据驱动 UICollectionView 框架,用于构建高效灵活的 iOS 列表。 IGListKit 是一个基于 UICollectionView 构建列表的 Objective-C 框架。开发者只需描述数据,框架会自动计算新旧数据之间的差异并更新视图,无需手动调用 performBatchUpdates 或 reloadData。
IGListKit 可以免费使用吗?用的什么许可证?
IGListKit 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
IGListKit 还在维护吗?
活跃维护中。IGListKit 最近一次提交是在 2026年11月3日。
IGListKit 适合用来做什么?
在 iOS 应用中构建数据频繁变化的信息流或混合内容列表 替代现有集合视图中手动调用 performBatchUpdates 和 reloadData 的逻辑 将基于表格的界面迁移到基于集合的布局
IGListKit 怎么安装和运行?
将 IGListKit pod 添加到 Podfile: pod 'IGListKit', '~> 5.2.0' 在 Xcode 中通过包地址添加 Swift Package 打开 Examples 目录中的示例应用进行体验
在哪里获取 IGListKit?
源代码和安装说明在 GitHub 上:https://github.com/Instagram/IGListKit

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目