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

Geo*_*f H 13 crash objective-c ios 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];
Run Code Online (Sandbox Code Playgroud)

我试过把上面的东西放在里面 [self.collectionView performBatchUpdates:^{ 没有运气.

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

fl0*_*034 5

我发现了这个雷达:http : //www.openradar.me/26280932其中说:

在viewDidLoad之后但在viewDidAppear:之前在UICollectionView上调用insertItemsAtIndexPaths:会在-[UICollectionView _endItemAnimationsWithInvalidationContext:tentativelyForReordering:]中导致断言失败。在相同情况下调用reloadData不会生成断言。

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