uitableviewcell更新

时间:2011-08-30 07:41:26

标签: objective-c ios uitableview asihttprequest

我有单元格的uitableview。我使用ASIHttpRequest为每个单元格下载异步图像,并在下载后将图像放入单元格。图像下载很好,但是当我点击单元格或滚动我的uitableview时它会放置。如何设置图像并立即显示它?

    NSURL *photoURL = [NSURL URLWithString:urlString];
    __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:photoURL];
   [request setDownloadCache:[ASIDownloadCache sharedCache]];
   [request setCompletionBlock:^{       
   NSData *responseData = [request responseData];
   cell.imageView.image = [UIImage imageWithData:responseData];
    }];
   [request startAsynchronous];
      //other code (cell.textLabe.text = ...) etc.

以下是点击之前的单元格截图,以及之后:

在:

Before

后:

After

3 个答案:

答案 0 :(得分:0)

尝试将[tableView reloadData]放入完成块。

答案 1 :(得分:0)

用于更新tableview使用

[yourTableView reloadData]

和下载图像异步使用

http://www.markj.net/iphone-asynchronous-table-image/

答案 2 :(得分:0)

首先猜测,您定义了您的imageview或在委托didSelectedRowAtIndexPath方法中调用您的图像,因此当您单击单元格时它会出现。基本上解决您的问题,只需在cellForRowAtIndexPath方法中移动您的代码。