NSURL连接延迟导致没有图片的UItableViewCell为空



我的应用程序通过异步(NSURLConnection)连接下载用户的Facebook个人资料图片,以便在自定义的UITableViewCell上显示个人资料图片。问题是;定制的tableViewCell是在图片下载之前创建的,因此延迟会导致没有图片的空tableViewCell。我该如何解决这个问题?

我的方法是在"connectionDidFinishLoading"方法中使用(枚举中的for)和(每个单元格的标签)来访问每个单元格。

伙计们,你们觉得我的方法怎么样?你们有更好的方法吗???

谢谢你的帮助,E.

由于UITableViewCell的重用,尝试标记并循环遍历单元格以查找匹配项将不起作用。内存中只有您在屏幕上看到的单元格数量,这些单元格会被回收以显示不同的数据。因此,您将无法为表视图中的每一行创建标记,因为表视图只使用少数单元格。

相反,您应该创建一个UITableViewCell子类,该子类知道如何异步下载并在图像本身中显示。使用AFNetworking的UIImageView类别非常适合做这样的事情,而不必自己管理URL连接。在你的单元格子类中导入这个类别,并编写一个调用setImageWithURL:的方法来异步下载和显示图像。此外,请确保重载UITableViewCell方法prepareForReuse,在该方法中,应在图像视图上调用cancelImageRequestOperation。因此,如果在下载完成之前重用了单元格,则下载图像的请求将被取消。

最新更新