如何防止在GridView中出现可见单元格

时间:2012-09-28 04:03:32

标签: ios xcode gmgridview

我正在使用GMGridView,这非常适合支持网格视图。但是我遇到了关于它使细胞出列的方式的问题。

我的应用的一些背景信息: 我有一个名为“ProductsGVC”的类,它提供属于某个“类别”的产品的网格视图。 ProductsGVC的数据模型是从“类别”实例中获取的一系列产品。

我的GMGridView一次创建250个单元格。当我加载每个单元格时,我有一个线程为每个单元格下载图像。在等待它完成下载时,我在单元格的图像视图中放置了一个默认图像。从逻辑上讲,下载单元格后,我想重新加载单元格来更新照片。我使用这段代码成功完成了这项工作:

//_currentData is my array of products
[_gmGridView reloadObjectAtIndex:[_currentData  indexOfObject:product] animated:YES];

但是,如果更新了我的数组底部的单元格,则单元格会正确刷新,但单元格会消失。

我的低效解决方案是在单元格完成下载图像时随时调用[_gmGridView reloadData]。结果是,我之前加载的细胞消失了。我猜他们已经出局并重复使用。好吧,当我从那些消失的细胞中滚动很多次时,它们会再次出现。

我的问题是,如何防止出现可见单元格(即当前在屏幕上的单元格)?

1 个答案:

答案 0 :(得分:1)

如果你正在使用NSFetchResultsController,你可以尝试在https://github.com/gmoledina/GMGridView/issues/84中实现Rasmuth的答案。