IGListKit
A data-driven UICollectionView framework for building fast lists
...This algorithm uses a technique known as the longest common subsequence to find a minimal diff between collections in linear time O(n). It finds all inserts, deletes, updates, and moves between arrays of data. A working range is a range of section controllers who aren’t yet visible, but are near the screen. Section controllers are notified of their entrance and exit to this range. This concept lets your section controllers prepare content before they come on screen (e.g. download images). With the IGListDiffable plugin for remodel by facebook, you can automatically generate models conforming to the IGListDiffable. ...