从集合视图中删除特定单元格
Removing a specific cell from a Collection View
我正在尝试删除第一个集合视图单元格。我在获取集合视图中第一项的 indexPath 时遇到问题。这是我到目前为止所得到的。
-(void)removeFirstItemFromCollectionView
{
NSLog(@"%i", [self.hostQueue count]);
[self.collectionView performBatchUpdates:^{
NSIndexPath * firstIndexPath = [self.collectionView indexPathForCell:(CollectionViewCell *)[self.collectionView viewWithTag:0]];
NSArray *indexPaths = @[firstIndexPath];
//delete item from hostQueue
[self.hostQueue removeObjectAtIndex:0];
// Now delete the items from the collection view.
[self.collectionView deleteItemsAtIndexPaths:indexPaths];
} completion:nil];
}
我遇到了崩溃:
NSIndexPath * firstIndexPath = [self.collectionView indexPathForCell:(CollectionViewCell *)[self.collectionView viewWithTag:0]];
在我的数据源中,我将单元格的标签设置为 indexPath.row。我想这行不通?我应该如何获得第一个 indexPath?
谢谢。
您不需要调用 indexPathForCell
因为您知道要删除第一个单元格 - 索引 0。您可以使用 NSIndexPath
class 方法 indexPathForItem:inSection:
直接创建索引路径-
- (void)removeFirstItemFromCollectionView
{
NSLog(@"%i", [self.hostQueue count]);
//delete item from hostQueue
[self.hostQueue removeObjectAtIndex:0];
// Now delete the items from the collection view.
[self.collectionView deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:0 inSection:0]]];
}
我正在尝试删除第一个集合视图单元格。我在获取集合视图中第一项的 indexPath 时遇到问题。这是我到目前为止所得到的。
-(void)removeFirstItemFromCollectionView
{
NSLog(@"%i", [self.hostQueue count]);
[self.collectionView performBatchUpdates:^{
NSIndexPath * firstIndexPath = [self.collectionView indexPathForCell:(CollectionViewCell *)[self.collectionView viewWithTag:0]];
NSArray *indexPaths = @[firstIndexPath];
//delete item from hostQueue
[self.hostQueue removeObjectAtIndex:0];
// Now delete the items from the collection view.
[self.collectionView deleteItemsAtIndexPaths:indexPaths];
} completion:nil];
}
我遇到了崩溃:
NSIndexPath * firstIndexPath = [self.collectionView indexPathForCell:(CollectionViewCell *)[self.collectionView viewWithTag:0]];
在我的数据源中,我将单元格的标签设置为 indexPath.row。我想这行不通?我应该如何获得第一个 indexPath? 谢谢。
您不需要调用 indexPathForCell
因为您知道要删除第一个单元格 - 索引 0。您可以使用 NSIndexPath
class 方法 indexPathForItem:inSection:
直接创建索引路径-
- (void)removeFirstItemFromCollectionView
{
NSLog(@"%i", [self.hostQueue count]);
//delete item from hostQueue
[self.hostQueue removeObjectAtIndex:0];
// Now delete the items from the collection view.
[self.collectionView deleteItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:0 inSection:0]]];
}