Releases: SoySauceLab/CollectionKit
1.2.0
There are quite a lot of improvements that went in 1.2.0.
With this update, CollectionView
will only query and diff identifiers for visible cells. This is a big performance gain. Previously it will ask the dataProvider
for all identifiers when it reloads which takes O(n) time, n being to total number of cell. The only thing it does now that is O(n) time is doing the layout. But if your layout doesn't provide dynamic height, then you can write a layout that provide visible indexes in O(m) time, m being the number of cells visible on screen. This way you can build a CollectionView that diff and reloads in O(m) time no matter how big n is. At the moment I don't think it is possible with any other library. Any diffing library that work with UICollectionView will need to diff the whole set of data.
CollectionProvider
now has a viewGenerator
parameter which allows you to configure a cell when the cell is first created. This function will only be called once per each cell and won't be called when the cell is reused. This helps shorten the viewUpdater
parameter and provide better performance when reloading.
ViewCollectionProvider
now expose the views
properties which allow you to configure views on the fly.
ViewCollectionProvider
now expose a sizeStrategyOverride
dictionary properties which allow you to configure sizeStrategy for individual views.
Remove extra Carthage dependencies
This version is the same as 1.0.2
. Except that Carthage dependencies have been removed.
Fix tapHandler being called on multiple indexes
Performance Fixes
Stable 1.0.0
update podspec
Initial Release
0.0.5 Add documentation link (#25)