我使用以下代码显示服务网址中的图片。但它没有显示任何内容谁能帮助我做到这一点。
cell.title.text = title;
cell.description.text = description;
cell.receivedDate.text = receivedDate;
NSURL *imageURL = [NSURL URLWithString:thumbnailImg[indexPath.row]];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
dispatch_async(dispatch_get_main_queue(),^{
cell.vendorImage.image = [UIImage imageWithData:imageData];
});
});
当我在cell.vendorImage.image中有一个断点时,它会显示我传递的url但它在UIImage中没有显示任何图像。
先谢谢
答案 0 :(得分:0)
试试这个: -
NSURL *imageUrl = [NSURL URLWithString:[[self.content objectAtIndex:indexPath.row] valueForKey:@"imageUrl"] ]];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
UIImage *image = nil;
image = [UIImage imageWithData: [NSData dataWithContentsOfUrl: imageUrl]];
dispatch_sync(dispatch_get_main_queue(), ^{
cell.thumbnailImageView.image = image;
});
})
答案 1 :(得分:0)
我认为您以异步方式获取图像数据,因此您需要在下载完成后通知TableView。
所以,试试这个。
dispatch_async(dispatch_get_main_queue(),^{
cell.vendorImage.image = [UIImage imageWithData:imageData];
[self.tableView reloadData];
});