In the course of trying to unload one batch of images from my collection view and then replace them with another batch, I run into an error where, depending on whether the original or subsequent group of images was more or less than the intended replacement, an assertion error occurs which says:
*** Assertion failure in -[UICollectionViewData validateLayoutInRect:], /SourceCache/UIKit_Sim/UIKit-2891.1/UICollectionViewData.m:341 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView recieved layout attributes for a cell with an index path that does not exist: <NSIndexPath: 0xb141c60> {length = 2, path = 0 - 2}
In this case the existing list of images count was 5 and the new list of images count was 2. So, when it got to the third image - the exception occurred - indicating that the UI CollectionViewDataDelegate did not know of the change in the data stream.
Any suggestions about how to make sure the new images will be referenced by the UICollectionView? Of course I have called 'reloadData'…
Thank you
I run in the same problem. Code runs under 6.1 and crashes under 7.0 I solved the issue the following way:
In the function
-(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView
I call
[myCollectionView.collectionViewLayout invalidateLayout];
That´s all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With