在UITableViewView中下载异步多个图像?

kee*_*you 2 iphone cocoa-touch objective-c asihttprequest ipad

如何使用ASIHttpRequest或其他有用的东西在UITableView中下载异步多个图像?

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
      ..........

      // Creation
      UIImageView *avatar;
      UILabel *content; 

      // Tag the IBOutlets
      avatar = (UIImageView*)[cell viewWithTag:14];
      content = (UILabel*)[cell.contentView viewWithTag:4];

      // Field
      avatar.image = image
      content.text = entryReviewtableView.content;
 }
Run Code Online (Sandbox Code Playgroud)

Pey*_*loW 6

不需要为ASIHTTPRequest这样的整个框架引入依赖只是为了下载一个图像,当你可以使用GCD做一些简单的代码行时:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData *imageDate = [NSData dataWithContentsOfURL:imageURL];
    UIImage *image = [UIImage imageWithData:imageData];
    dispatch_async(dispatch_get_main_queue(), ^{
        avatar.image = image;
    });
});
Run Code Online (Sandbox Code Playgroud)

这是异步的,所有的善良.但是在几行代码中,您可以编写,理解,修复错误,扩展和维护自己.