UIImage没有加载URL

时间:2013-11-04 04:13:43

标签: ios uitableview nsdata

我的UIImage没有加载我用[NSData datawithContentsOfURL:]指定的URL,即使URL(貌似)正确。

这是我的configureCell:方法:

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath 
{
  NSString *url = [photoUrls objectAtIndex:indexPath.section]; 

  cell.imageView.image = [UIImage imagewithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];  
}

这是“photoUrls”数组内部的内容(不包括项目符号):

2 个答案:

答案 0 :(得分:0)

您的网址未指向有效图片。我所看到的只是"Not found. Back to facebook"。您对[NSData dataWithContentsOfURL:]的来电将获取数据,但[UIImage imageWithData:]将无法生成UIImage,因为数据不代表有效图片。

答案 1 :(得分:0)

我不会在配置单元格中使用[nsdata dataWithContentsOfURL:],因为它会阻止UI。而且你拥有它的方式,它将一遍又一遍地重新下载所有图像。

以下链接将帮助您异步下载数据,而不会阻止UI。

http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial

https://github.com/rs/SDWebImage

使用此SDWebImage,您所要做的就是: [cell.imageView setImageWithURL:[NSURL URLWithString:urlString]                    placeholderImage:[UIImage imageNamed:@“placeholder.png”]]; 它将负责下载图像。