Differ
Swift library to generate differences and patches between collections
...Animating small batches of changes is usually going to be faster and provide a more responsive experience than reloading all of your data. Calculating and acting on differences should also aid you in making a clear separation between data and user interface, and hopefully provide a more declarative approach: your model performs state transition, then your UI code performs appropriate actions based on the calculated differences to that state.