一个数据驱动的 UICollectionView
框架,用于构建快速且灵活的列表。
主要特性 | |
---|---|
🙅 | 永远不再调用 performBatchUpdates(_:, completion:) 或 reloadData() |
🏠 | 通过可重用的单元格和组件实现更好的架构 |
🔠 | 创建具有多种数据类型的集合 |
🔑 | 解耦的 diff 算法 |
✅ | 完全单元测试 |
🔍 | 为您的模型自定义 diff 行为 |
📱 | 核心仍然是简单的 UICollectionView |
🚀 | 可扩展的 API |
🐦 | 使用 Objective-C 编写,完全支持 Swift 互操作 |
IGListKit
由 Instagram 工程团队 用 ❤️ 构建和维护。我们在 Instagram 应用程序中使用开源版本 main
分支。
首选的安装方法是使用 CocoaPods。将以下内容添加到您的 Podfile
pod 'IGListKit', '~> 5.0.0'
对于 Carthage,将以下内容添加到您的 Cartfile
github "Instagram/IGListKit" ~> 5.0.0
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
的开源版本,因此我们始终在测试最新的更改。但这要求所有更改都经过全面测试并遵循我们的风格指南。
我们有一组 入门任务,非常适合初学者参与并开始贡献。
IGListKit
是 MIT 许可的。
/Examples/
目录中的文件根据每个文件中指定的单独许可证获得许可。文档根据 CC-BY-4.0 许可。