IGListKit是以數(shù)據(jù)驅(qū)動(dòng)的UICollectionView框架,用于快速靈活的構(gòu)建列表。
IGListKit的主要特性:
?? 不需要再次調(diào)用 performBatchUpdates(_:, completion:) or reloadData()
?? 高效的cell復(fù)用和組件的架構(gòu)
?? 創(chuàng)建具有多種數(shù)據(jù)類型的集合
?? 解耦差分算法
? 完全支持單元測(cè)試
?? 自定義不同行為的模型
?? 以UICollectionView作為單一核心
?? 支持可擴(kuò)展的API
?? 支持 Objective-C, Swift
IGListKit結(jié)構(gòu):

image.png
需要注意:IGListKit 遵循one model per section controller.
數(shù)據(jù)和模型綁定,一般使用ListBindingSectionController,
下圖是model,viewmodel,view之間綁定過(guò)程:

image.png