jajo87 jajo87 - 1 year ago 215
Objective-C Question

UICollectionView Assertion failure

I m getting this error on performing


Assertion failure in:

-[UICollectionViewData indexPathForItemAtGlobalIndex:],
2012-09-26 18:12:34.432
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'request for index path for global index 805306367
when there are only 1 items in the collection view'

I have checked and my datasource contains only one element.
Any insights on why this could happen? If more information is needed I can definitely provide that.

Answer Source

I ran into this very same problem when inserting the first cell into a collection view. I fixed the problem by changing my code so that I call the UICollectionView

- (void)reloadData

method when inserting the first cell, but

- (void)insertItemsAtIndexPaths:(NSArray *)indexPaths

when inserting all other cells.

Interestingly, I also had a problem with

- (void)deleteItemsAtIndexPaths:(NSArray *)indexPaths

when deleting the last cell. I did the same thing as before: just call reloadData when deleting the last cell.