0

我在 custom 中创建了一个按钮UICollectionViewCell,并在按钮块中添加了一个目标,例如:

@interface MYCollectionViewCell : UICollectionViewCell
@property (nonatomic, copy) void (^clickButtonBlock)(BOOL boolValue);
@end

我设置块删除单元格我单击 中的按钮cellForItemAtIndexPath,例如:

[self.collectionView performBatchUpdates:^{
    [strongSelf.dataArray removeObjectAtIndex:index];
    [strongSelf.collectionView deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]]];
    [strongSelf.collectionView insertItemsAtIndexPaths:@[[NSIndexPath indexPathForRow:5 inSection:0]]];
}];

在我删除第一个单元格之后。下一个单元格NSIndexPath错误,[collectionView indexPathForCell:strongCell];块中的函数得到正确的值。

我不知道他们为什么不一样?

4

1 回答 1

2

删除后您没有调用collectionView.reloadData(),因此删除后您没有得到正确的索引路径。

请调用该方法,然后检查。

于 2017-08-04T16:18:59.673 回答