iOS7上的聲明失敗UICollectionViewData
validateLayoutInRect
。UICollectionViewData中的聲明失敗ios7上的validateLayoutInRect
我在嘗試使用for
循環逐個刪除所有UICollectionView
項目;我在下面發佈了我的代碼。我使用deleteItemsAtIndexPaths
刪除UICollectionView
項目。這是在iOS6的完美的工作,但崩潰的iOS7與此異常:
斷言失敗在UICollectionViewData validateLayoutInRect
我刪除collectionArray
然後self.collectionView
對象,一個接一個,使用indexPath
。當我刪除第4個對象時,它在iOS7上引發Assertion failure
。我在這裏使用performBatchUpdates
。
請幫我在iOS7中獲得正確的結果。分享正確的代碼。 在此先感謝。
try {
for (int i=count-1; i>=0; i--) {
[self.collectionView performBatchUpdates:^(void){
[collectionArray removeObjectAtIndex:i]; // First delete the item from you model
[self.collectionView deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForRow:i inSection:0]]];
} completion:nil];
[self.collectionView reloadData];
}
}
@catch (NSException *exception) {
}
@finally {
}
看起來提到像你有同樣的問題: http://stackoverflow.com/questions/18189311/bad-access-on-uicollectionview-setcollectionviewlayoutanimated和 http://stackoverflow.com/questions/ 18339030/uicollectionview-assertion-error-on-stale-data –