steipete/PSTCollectionView — pull request #295 by aburgel (2013-04-17 02:31:09+00:00)
Title: Fix batch updates with NSFetchedResultsController assertions

I've been attempting to use NSFetchedResultsController to update a PSTCollectionView, and its causing a bunch of assertions and errors. I've tackled some here, but there's at least one more to fix.

Here's a run down of what I've done so far:

1. Fixed a spelling error in the assertion message (might as well).

2. The first assertion you get when batching moves and deletes is on line 1871. I think the assertion needs to be negated. You want to assert that no moves and deletes occur on the same item.

3. Once that's fixed, you get array out of bounds exceptions at line 2043. Since deletes happens before moves, the index of the move operation is no longer valid. I fixed this by doing `indexOfObject` instead of `objectAtIndex` since we know what the object is. Not 100% sure about this, but it works in my case.

The next issue (hopefully the last) has to do with mixing reloads and deletes. A reload is implemented as a delete and insert. If that is mixed with other deletes, then again the indexes become invalid. I think it might be easier to just keep these as a reload operation, but I'm not sure what constitutes a reload.

Is calling `[PSTCollectionView createPreparedCellForItemAtIndexPath:withLayoutAttributes:]` sufficient?