2013-10-07 57 views
1

我有一個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]]; 

我只是想刪除單元格或部分與細胞。我的錯誤是什麼?

回答

1

您應該從數據源數組中刪除元素。 F.e.如果刪除後刪除單元格,然後在你的方法返回2,它應該返回1

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

事實上,如果你在這個方法返回[數組數],那麼你應該刪除陣列1個對象調用-deleteItemsAtIndexPaths之前

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

它現在正在工作......非常感謝你@Jackos。但是這是刪除一個部分,可以刪除一個部分內的單元格? – onivi

+0

奇怪。數據源協議中有兩種方法: - collectionView:numberOfItemsInSection:和 - numberOfSectionsInCollectionView :.首先用於某些部分的設定數量的單元格,其次是需要設定的部分數量。也許你從錯誤的數組中刪除對象? :) – Josshad

+0

我有10個部分,每個部分有2個單元格。我想單獨刪除每個單元格,但是當某個單元格中的每個單元格都被刪除後,我想刪除這一部分。 – onivi