是否有可能调用(或自定义)reloadData
方法让表视图为其所有行(不仅是可见行)重新加载数据?
提前感谢。
答案 0 :(得分:2)
您无需自定义reloadData。如上所述,屏幕外的单元格实际上并不存在。他们正坐在重用队列中(希望如此)等待被拉到屏幕上。一旦他们要在屏幕上移动,表视图就会将tableView:cellForRowAtIndexPath:发送到其数据源。在这里,您可以为特定行配置所需的所有内容。
您可能需要考虑创建一个包含单元格数据的数组。因此,如果您有100个单元格的数据,请创建一个包含100个项目的数组。如果只有单元格10-15可见,但您需要更新将在单元格89中显示的数据,只需访问该数组的第89个元素,并进行相应的更新。向下滚动到第89个单元格后,只需在indexPath.row访问该数组。
答案 1 :(得分:1)
那些不可见的行甚至不存在!我的意思是在可见的旁边没有单元格,边缘上还有一两个单元格 所以我猜你的答案是肯定没有办法做到这一点,或者你需要解释更多为什么你需要这样做!
答案 2 :(得分:0)
[tableView reloadData]仅刷新可见单元格。单元格的数据应该与tableview分开,你可以通过创建一个方法来重新加载它。重新加载包含单元格中显示的数据的内部项目数组。