Assertion failure in -[UICollectionViewData validateLayoutInRect:],
/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3698.33.6/
UICollectionViewData.m:435
'UICollectionView recieved layout attributes for a cell with an
index path that does not exist: <NSIndexPath: 0xb141c60> {length = 2, path = 0 - 2}
错误
我使用tableview 嵌套collectionView展示滑动图片效果,并且缓存了数据。当我进入这个界面 快速滑动时候出现这个错误 ,我怀疑报这个错误的原因是:reload时候。但是这时候layout可能没有更新
解决方法1
-(NSInteger )numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
[collectionView.collectionViewLayout invalidateLayout];
return 1;
}
解决方法2 (我这边无效)
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
[viewCollection.collectionViewLayout invalidateLayout];
}
解决方法3(我这边无效)
collectionView.reloadData()
collectionView.collectionViewLayout.invalidateLayout()
参考资料
http://stackoverflow.com/questions/18339030/uicollectionview-assertion-error-on-stale-data