4

我有一个 UICollectionView 包含 10 个部分,每个部分有 2 个单元格。我正在尝试删除一个单元格,但我得到了这个:

The number of sections contained in the collection view after the update (2) must be equal to the number of sections contained in the collection view before the update (2)

这就是我删除的方式:

NSUInteger arrayLength = 1;
    NSUInteger integerArray[] = {0,0};
    NSIndexPath *aPath = [[NSIndexPath alloc] initWithIndexes:integerArray length:arrayLength];
    [self.collectionFavs deleteItemsAtIndexPaths:[NSArray arrayWithObject:aPath]];

我只想删除带有单元格的单元格或部分。我的错误是什么?

4

1 回答 1

3

您应该从数据源数组中删除元素。Fe 如果您的方法在删除单元格之前返回 2,那么在删除单元格之后应该返回 1

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    if (notdeleted)
        return 2;
    else
        return 1;
}

实际上,如果您在此方法中返回 [array count],那么您应该在调用 -deleteItemsAtIndexPaths 之前从数组中删除 1 个对象

NSUInteger integerArray[] = {0,0};
NSIndexPath *aPath = [[NSIndexPath alloc] initWithIndexes:integerArray length:arrayLength];
[array removeObjectAtIndex:0];
[self.collectionFavs deleteItemsAtIndexPaths:[NSArray arrayWithObject:aPath]];
于 2013-10-07T11:30:15.160 回答