【发布时间】:2013-09-23 01:34:11
【问题描述】:
尝试显示从网络服务下载到UIImage的图像,可以得到确切的图像路径(URLString)并显示在NSLog。现在的问题是 imageData 正在返回 null 值而不是要返回的值。
错误信息将打印为:
操作无法完成。 (可可错误 256。)
用于检索图像路径的代码如下所述,
NSString *urlString = [result objectForKey:@"image"];
NSLog(@"url image is %@ \n",urlString);
NSData *imageData = [[NSData alloc] init];
NSError* error = nil;
imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString] options:NSDataReadingUncached error:&error];
if (error)
{
NSLog(@"%@", [error localizedDescription]);
}
else
{
NSLog(@"image data is %@ \n",imageData);
imageview.image = [UIImage imageWithData:imageData];
}
要做什么,在UIImage中显示图像。
【问题讨论】:
-
dataWithContentsOfURL不适合远程图像加载 - 这是一个阻塞操作,当您发现您得到的错误处理和信息非常少时。您应该考虑使用NSURLRequest,或者使用许多开源UIImage类别之一,这些类别可以直接从图像视图进行远程图像加载。 -
使用 AsyncImageView 这是加载图片 url 的最佳方式
标签: ios objective-c error-handling uiimage nsdata