UICollectionView断言失败 - [UICollectionView _updateWithItems:tentativelyForReordering:]

时间:2015-07-15 17:14:43

标签: ios objective-c crash uicollectionview uicollectionviewcell

iOS8.4。在设备上不是模拟器。

我收到了这个错误;

Assertion failure in -[UICollectionView _updateWithItems:tentativelyForReordering:], /SourceCache/UIKit/UIKit-3347.44.2/UICollectionView.m:4563

当我打电话

NSArray* array_indexPaths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:1 inSection:0]];
[self.collectionView reloadItemsAtIndexPaths:indexPaths];

尝试将上述内容放入其中 [self.collectionView performBatchUpdates:^{ 没有运气。

有没有其他人经历过这个或者知道为什么会这样?

1 个答案:

答案 0 :(得分:4)

我发现这个rdar:http://www.openradar.me/26280932说:

  

在viewDidLoad之后但在viewDidAppear之前调用insertItemsAtIndexPaths:在UICollectionView上:将导致断言失败 - [UICollectionView _endItemAnimationsWithInvalidationContext:tentativelyForReordering:]。在同一场景中调用reloadData并不会产生断言。

因此,您可以在viewDidAppear之前检查您是否正在接听电话,并在视图显示之前调整/等待。