【发布时间】:2014-02-15 10:58:45
【问题描述】:
通过 KVO 接收这些更新时,我在更新集合视图时遇到问题。
例如对于删除,我执行以下操作:
dispatch_async(dispatch_get_main_queue(), ^{
NSUInteger index = [self.albumObjects indexOfObject:oldObject];
NSIndexPath* indexPath = [NSIndexPath indexPathForItem:index inSection:0];
[self.dataSource removeObjectAtIndex:index];
[self.collectionView deleteItemsAtIndexPaths:@[indexPath]];
}
上面给了我错误:
attempt to delete item 0 from section 0 which only contains 0 items before the update
好的...所以让我们之后从数据源中删除然后返回以下错误:
dispatch_async(dispatch_get_main_queue(), ^{
NSUInteger index = [self.albumObjects indexOfObject:oldObject];
NSIndexPath* indexPath = [NSIndexPath indexPathForItem:index inSection:0];
[self.collectionView deleteItemsAtIndexPaths:@[indexPath]];
[self.dataSource removeObjectAtIndex:index];
}
但是我现在收到以下错误:
Invalid update: invalid number of items in section 0. The number of items contained in an existing section after the update (1) must be equal to the number of items contained in that section before the update (1), plus or minus the number of items inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of items moved into or out of that section (0 moved in, 0 moved out).
看来我赢不了?我在这里做错了什么?
【问题讨论】:
标签: ios cocoa-touch ios7 uicollectionview