Skip to content
项目

Instagram/IGListKit has 13,081 GitHub stars and 1,539 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-07 21:10 UTC. Last push 2026-11-03.

这些数字如何统计

A data-driven UICollectionView framework for building fast and flexible lists.

实测星标增长

24小时
+1
7天
正在收集历史
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README.zh.md

原文

Build Status Coverage Status Pods Version Platforms Carthage Compatible


一个数据驱动的UICollectionView框架,用于构建快速灵活的列表。

主要特性
🙅 无须直接调用 performBatchUpdates(_:, completion:) 或 reloadData()
🏠 更好的可复用 cell 和组件体系结构
🔠 创建具有多个数据类型的列表
🔑 解耦的 Diff 算法
✅ 完全的单元测试
🔍 可自定义数据模型的 Diff 行为
📱 简化并维持UICollectionView的核心特性
🚀 可扩展的 API 设计
🐦 Objective-C 编写,同时完全支持 Swift

IGListKit由 Instagram 工程师 创建 并且❤️ 维护。 我们在 Instagram 中使用开源的main主版本。

多语言翻译

英文README

要求

  • Swift 5.1+
  • iOS 11.0+
  • tvOS 11.0+
  • macOS 10.13+ (diffing algorithm components only)
  • Interoperability with Swift 3.0+

安装

CocoaPods

推荐使用CocoaPods来进行安装,只需添加如下语句到你的Podfile文件中:

pod 'IGListKit', '~> 5.2.0'

Carthage

对于Carthage, 添加如下到Cartfile文件中:

github "Instagram/IGListKit" ~> 5.2.0

对于高级用法, 查阅 安装指南。

入门指南

$ git clone https://github.com/Instagram/IGListKit.git
$ cd IGListKit/
$ ./scripts/setup.sh

文档

这里可以查阅文档。文档由jazzy生成,托管在 GitHub-Pages。

运行位于仓库根目录下的./scripts/build_docs.sh脚本来生成文档。

远景

想要了解IGListKit的长期目标和愿景,请阅读Vision。

贡献

请查看CONTRIBUTING来了解如何参与贡献。在 Instagram,我们每日都会同步开源版本的IGListKit,因此我们总是在测试最新的改动。但是这也需要所有的改动都需要经历完全的测试,并且遵守我们的开发风格。

我们有一系列新人任务,来帮助新人学习如何参入其中。

License

IGListKit 遵循MIT-licensed。

/Examples/目录下的文件,在文档里指明了它们各自所遵循的协议。文档遵循CC-BY-4.0。

探索相关项目