iPhone:UITableView reloadData计时问题

时间:2011-04-13 12:27:44

标签: iphone uitableview reloaddata

我遇到了常见的TableView数据重装问题。我已经阅读了很多关于同一主题的问题,但问题与我的问题从未完全相同......

我有一个基于导航的应用程序。在RootViewController的viewDidLoad方法中,我发出请求以获取JSON数据(文章)。连接完成加载后,我为每个条目创建自定义Article对象。 Article类有一个initWithDictionnary方法,它初始化对象的属性,最重要的是创建下载图像的请求。连接完成加载后,我设置了Article对象的image属性。 目标是使用下载的图像初始化cell.imageView.image属性。那时,您可能已经猜到了问题所在。 渲染单元格图像后下载图像,使其保持为空,直到重新加载单元格(如果它离开屏幕然后再返回)。 我想我应该在某个时间调用reloadData但我不知道什么时候。理想情况下,我会在加载所有单元格时调用它,但似乎不可能。 我已经尝试了一些疯狂的事情,比如等待一个单元格加载,并试图重新加载前一个但它没有用。 通过阅读Q& A,我了解了Apple的LazyTableImage示例代码,但我不了解所有内容,因此我不确定是否应该/可以使用它。

如果您需要更多详细信息,请询问我。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您必须异步加载图像。请记住,您的表数据应包含每行一个字段,指定图像是否已加载,以便(如果为true)您可以跳过加载并只显示缓存的图像。

首先看一下这个问题:Load images async

答案 1 :(得分:0)

大约有10个很好的Lazy Loading Image UITableView教程。选一个。

一段时间后,通过查看教程,您将了解它。坚持下去,这是一个重要的概念,不仅适用于这个项目,也适用于您的其他编程生涯。

Lazy Loading Image UITableView Tutorials that'll make you smarter!