我尝试在我的iphone应用中显示图像,但它没有显示。我在IB中连接并且我检查以显示本地图像,它工作得很好。我也从图像中检查了网址,这没关系。我使用下一个代码:
NSURL *imageURL = [NSURL URLWithString: aVideo.urlThumbnail];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
imageView.image = image;
和
//Video.h
NSString *urlThumbnail;
这是我在视图上的代码。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[tableView reloadData];
}
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"URLTHUMBNAIL: %@", aVideo.urlThumbnail);
NSURL *imageURL = [NSURL URLWithString: aVideo.urlThumbnail];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
imageView.image = image;
}
NSLog在控制台上获取
URLTHUMBNAIL: http://147.83.74.180/thumbnails/56.jpg
IB上的连接没问题,因为我可以使用同一IBAction上的下一个代码显示本地图像
UIImage *img = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"barret" ofType:@"png"]];
答案 0 :(得分:1)
对NSLog()
自己的一些关于变量中真实内容的注释非常有帮助。如果你真的把所有东西都放在IB中,那么可能是aVideo.urlThumbnail
没有被设置。我希望在创建NSURL之前在控制台中看到这个值。
答案 1 :(得分:0)
首先,由于NSData dataWithContentsOfURL:
访问网络,您应该考虑在后台执行此操作。否则,您的UI可能会无响应。
您应该考虑添加一些额外的日志记录来检查imageData
和image
的值。此外,您可以致电NSData dataWithContentsOfURL:options:error:
查看是否是失败的原因。