I think that performing two sets of batch updates in controllerDidChangeContent: is dangerous. At the end of the first update, the collection view could ask the data source for data that is now outdated which will cause a crash. I folded both update blocks into a single pass. #24
I don't like the idea of using the mutable collections directly inside the change block since no garuntee is made as to when it will run. So, I copy the pending changes into stack variables and immeditely reset the mutable collections. This prevents the collections from being mutated in multiple quick passes through the fetched results controller methods. #24
Added ability to disable change animations. #25
Begin translating index paths from fetched index paths into view index paths. #24.
Translate group indexes from fetched indexes to view indexes so that the appropriate groups are updated. #24
I made the following changes:
controllerDidChangeContent:
is dangerous. At the end of the first update, the collection view could ask the data source for data that is now outdated which will cause a crash. I folded both update blocks into a single pass. #24