有没有可能调用(或定制) reloadData方法,让表视图重新加载所有行的数据(不仅仅是可见的行)?
提前谢谢。
发布于 2012-04-03 23:14:10
您不需要自定义reloadData。如前所述,屏幕外的单元格实际上并不存在。他们坐在重用队列中(希望如此),等待被拉到屏幕上。一旦它们要在屏幕上移动,表视图就会将tableView:cellForRowAtIndexPath:发送到它的数据源。在这里,您可以在该特定单元格上为该特定行配置所需的所有内容。
您可能需要考虑创建一个保存单元格数据的数组。因此,如果您有100个单元格大小的数据,请创建一个包含100个项目的数组。如果只有单元格10-15可见,但您需要更新将显示在单元格89中的数据,则只需访问数组的第89个元素,并适当地更新它。向下滚动到第89个单元格后,只需访问indexPath.row处的数组。
发布于 2012-04-03 22:53:41
那些不可见的行甚至都不在那里!我的意思是,除了可见的单元格之外,没有单元格,再加上边缘上的一个或两个。
所以我猜你的答案是不,没有办法这样做,或者你需要更多地解释为什么你需要这样做!
发布于 2012-04-03 22:54:42
tableView reloadData仅刷新可见的单元格。单元格的数据应该从表视图中分离出来,您可以通过创建一个方法来重新加载它,例如,重新加载包含单元格中显示的数据的内部项目数组。
https://stackoverflow.com/questions/9995721
复制相似问题