2

尝试显示从 Web 服务下载到的图像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.

4

2 回答 2

1

这部分是错误的:

if (error) 
{
    NSLog(@"%@", [error localizedDescription]);
}

else
NSLog(@"image data is %@ \n",imageData);   
imageview.image = [UIImage imageWithData:imageData];

它应该是:

if (error) 
{
    NSLog(@"%@", [error localizedDescription]);
}

else
{
    imageview.image = [UIImage imageWithData:imageData];
}

你也在分配 NSData 然后用另一个覆盖值不要使用这一行:

NSData *imageData = [[NSData alloc] init];

分配/初始化一个对象然后销毁它是浪费时间和内存。

于 2013-09-18T10:29:23.510 回答
0

使用 AsyncImageView 加载图像

 AsyncImageView *ImageView = [AsyncImageView alloc]init];
    ImageView.imageURL =[NSURL URLWithString:ImageURLStr];

https://github.com/nicklockwood/AsyncImageView

于 2013-09-18T11:05:35.733 回答