0

我正在实现一个下载系统,并且我有这个包含 Core Data 元素的表格视图。

我希望用户按下单元格上的下载按钮,系统将开始下载相关文件。

我有我的下载库,可以通过委托方法交流和报告进度,我的问题是我不知道如何关联/正确重新显示/更新可重用单元格中的进度视图。

下载库与 NSURL 一起使用,我可以将 NSURL 子类化并附加一个代表我的核心数据实例的属性协议,但即便如此,保持 UI 逐个单元格更新的最佳方法是什么?

[self.tableView reloadData]每次代表收到事件时我都应该打电话吗?

4

1 回答 1

1

正确,这是一个棘手的问题。正如您所注意到的,随着表格的滚动,单元格对象被重用,并且不能保证相同的单元格对象将继续引用表格的相同索引路径。

我建议在tableView:willDisplayCell:forRowAtIndexPath:即将显示单元格之前查看在表格视图委托上调用它。这是在下载库中将此单元格设置为正确委托的好地方。

至于你的第二个问题,不,不要[self.tableView reloadData]在每个事件上都打电话。那将是一个破坏性能的决定。:)

于 2013-08-20T22:35:02.187 回答