我有几个单元写入UICollectionView
并重新加载它们需要很长时间。如何仅在修改单元格数据时重新加载?这是我尝试过的一件事:
if([oldDataSource count] != [currentDataSource count])
{
[collectionView reloadData];
}
然而,我仍然不想处理重新加载整个的事情。我也试过了:
if([oldDataSource count] < [currentdataSource count])
{
//something was added. //reload the last item in the current data source
}
这也失败了,因为我无法重新加载内存中不存在的东西。此方法也不起作用,因为如果从我的数据源中删除了某些内容,Cell仍将保留在界面中,并且如果单击则会崩溃。
那么,处理已编辑单元格的最佳方法是什么?
谢谢!
答案 0 :(得分:2)
仅重新加载指定索引路径的项目。
- (void)reloadItemsAtIndexPaths:(NSArray *)indexPaths
<强>讨论强> 调用此方法可以有选择地仅重新加载指定的项目。这会导致集合视图丢弃与这些项关联的任何单元格并重新显示它们。
答案 1 :(得分:1)
尝试获取想要更改的单元格。则: -
setNeedsDisplay
。 尝试这三种中的任何一种。 干杯。玩得开心