Build Status Coverage Status Pods Version Platforms Carthage Compatible


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

主要特性
🙅 永远不再调用 performBatchUpdates(_:, completion:)reloadData()
🏠 通过可重用的单元格和组件实现更好的架构
🔠 创建具有多种数据类型的集合
🔑 解耦的 diff 算法
完全单元测试
🔍 为您的模型自定义 diff 行为
📱 核心仍然是简单的 UICollectionView
🚀 可扩展的 API
🐦 使用 Objective-C 编写,完全支持 Swift 互操作

IGListKitInstagram 工程团队 用 ❤️ 构建和维护。我们在 Instagram 应用程序中使用开源版本 main 分支。

多语言翻译

中文 README

要求

安装

CocoaPods

首选的安装方法是使用 CocoaPods。将以下内容添加到您的 Podfile

pod 'IGListKit', '~> 5.0.0'

Carthage

对于 Carthage,将以下内容添加到您的 Cartfile

github "Instagram/IGListKit" ~> 5.0.0

Swift Package Manager

对于 Swift Package Manager

To integrate using Xcode:

File -> Swift Packages -> Add Package Dependency

Enter package URL: https://github.com/Instagram/IGListKit, and select the latest release.

有关高级用法,请参阅我们的 安装指南

开始使用

通过打开 Examples 目录中提供的任何示例应用程序来试用 IGListKit。

文档

您可以在此处找到文档。文档使用 jazzy 生成,并托管在 GitHub-Pages 上。

要重新生成文档,请从 repo 的根目录运行 ./scripts/build_docs.sh

愿景

有关 IGListKit 的长期目标和“愿景”,请阅读我们的 愿景 文档。

贡献

请参阅 CONTRIBUTING 文件,了解如何提供帮助。在 Instagram,我们每天同步 IGListKit 的开源版本,因此我们始终在测试最新的更改。但这要求所有更改都经过全面测试并遵循我们的风格指南。

我们有一组 入门任务,非常适合初学者参与并开始贡献。

许可证

IGListKitMIT 许可的。

/Examples/ 目录中的文件根据每个文件中指定的单独许可证获得许可。文档根据 CC-BY-4.0 许可。

法律声明

版权所有 © Meta Platforms, Inc • 使用条款隐私政策