需要从 UICollectionView 中删除单元格

Need To delete cell from UICollectionView

我无法摆脱这个,我有一个带有自定义单元格的 UICollectionView,每个单元格都有一个 X 按钮可以将其从列表中删除,我传递给 button.tag IndexPath.item在删除功能上,我实现了以下方法:

- (void)DeleteProductFromArray:(UIButton *)button {
    NSLog(@"item: %d",button.tag);
    TagHelpConverted = [NSNumber numberWithInt:button.tag];
    TagHelp = button.tag;
    if(DeletedCells.count == 0)
    {
        [DeletedCells addObject:TagHelpConverted];
    }
    else
    {
        for(int i = 0; i < DeletedCells.count; i++)
        {
            if([TagHelpConverted compare:DeletedCells[i]] == NSOrderedDescending)
            {
                TagHelp--;
                NSLog(@"ho diminuito il tag di 1");
            }
        }
        [DeletedCells addObject:TagHelpConverted];
    }

    NSLog(@"valore tagHelp:%d", TagHelp);
    [_feedItems removeObjectAtIndex:TagHelp];

    [self.customCollectionView deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:TagHelp inSection:0]]];
    [self.customCollectionView reloadData];

}

问题是当滚动 UICollectionView 调用 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 和我的 NSMutableArray 存储哪个按钮已经被点击时 "old values" 与此方法分配的新按钮相比使应用程序删除 UICollectionView 中的随机项目。 我在 Internet 上搜索了有关删除 UICollectionView 单元格的帮助,但我几乎找到了任何东西,我在这方面非常努力,但我找不到出路,如果有人有解决方案,请帮助我

要从 collectionView 中删除单元格,您可以将它们从数据源中删除并重新加载 collectionView。您希望确保您的数据源与屏幕上的内容保持同步。基本上,保持你的数据源你想要它并调用 [collectionView reloadData]。

- (void)didTapDeleteCellBtn:(UIButton *)deleteCellBtn {
    UICollectionViewCell *cell = (UICollectionViewCell *)deleteCellBtn.superview.superview; // Make sure this gets the right cell for the button
    NSIndexPath *indexPath = [self.customCollectionView indexPathForCell:cell];
    id item = self.feedItems[indexPath.row];
    NSMutableArray *updatedFeedItems = [self.feedItems mutableCopy];
    [updatedFeedItems removeObject:item];
    self.feedItems = [NSArray arrayWithArray:updatedFeedItems];
    [self.customCollectionView reloadData];
}