我有这种方法,我被建议在后台线程上下载图像。任何人都可以帮我这个吗?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSURL *myURL=[NSURL URLWithString:[self.picturesArray objectAtIndex:indexPath.row]];
NSData *myData1 = [[NSData alloc] initWithContentsOfURL:myURL];
UIImage *myImage = [[UIImage alloc] initWithData:myData1];
cell.imageView.image = myImage;
return cell;
}
答案 0 :(得分:0)
撇开所显示的代码本身无法正常工作的事实......你想要做的事情非常简单。您的单元格可以是自定义UITableCell,您可以在其中定义在后台下载的方法。在cellForRowAtIndexPath:中,您将调用该方法,例如[cell loadImageInBackground:myURL]
。聪明的部分是,单元格当然知道它中的内容,即你想要设置的UIImageView。因此,后台加载完成后,只需设置图像,您的表格就会保持响应状态。
答案 1 :(得分:0)
您可以使用异步下载的UIImageView。检查一下: http://iphone-dev-tips.alterplay.com/2009/10/asynchronous-uiimage.html
您应该创建一个UITableViewCell子类并向其添加AsynchronousImageView,然后执行[cell.asyncImageView loadImageFromURLString:[self.picturesArray objectAtIndex:indexPath.row]]。