【问题标题】:Load image from server on a UIImageView in phone在手机的 UIImageView 上从服务器加载图像
【发布时间】:2010-11-29 19:51:48
【问题描述】:

我在将远程图像加载到 UIImageVIew 时遇到问题... 它只是没有显示图像,可能是我遗漏了什么......

我也使用这里描述的,但结果相同 How to load image from remote server on the UIImageView in iphone?

有人可以帮我吗?

这是我正在使用的代码

我从 xml 获取数据,在图像元素上我有完整路径

[[detailViewController detailImage] setImage:[UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: [NSString stringWithFormat:@"%@", [[promoList objectAtIndex: promoIndex] objectForKey: @"image"]] ]]] ];

使用此代码可以正确显示图像

[[detailViewController detailImage] setImage:[UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://localhost/promos/preview/1.jpeg"]] ]];

【问题讨论】:

    标签: iphone cocoa-touch image uiimageview uiimage


    【解决方案1】:

    由于底部示例按预期工作,并且除了 url 字符串之外,示例看起来相同,因此获取 url 字符串应该是问题。问题还在于代码看起来相同,但很难看到。我会将代码重构为:

    NSObject *urlObject = [[promoList objectAtIndex:promoIndex] objectForKey:@"image"];
    NSString *urlString = [NSString stringWithFormat:@"%@", urlObject];
    NSURL *url = [NSURL URLWithString:urlString];
    NSData *imageData = [NSData dataWithContentsOfURL:url];
    UIImage *image = [UIImage imageWithData:imageData];
    
    [[detailViewController detailImage] setImage:image];
    

    然后您可以正确调试语句并确保在每个步骤之后得到您期望的结果。

    更新

    要删除换行符和制表符,您可以:

    NSString *urlString = [NSString stringWithFormat:@"%@", urlObject];
    urlString = [urlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    

    如果 urlObject 已经是一个字符串,它应该是,那么你可以这样做:

    NSString *urlString = [urlObject stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    

    这样会更干净一些。

    【讨论】:

    • 我试了一下,并在路径“\n\t\n\n\t”末尾的 urlObject 和 urlString 处的调试器的摘要列上得到了这个
    【解决方案2】:
    UIImage *img = [[UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:@"http://...."]]] retain];
    if (img != nil) 
    { 
        [imageViewName setImage:img];
        [img release]; 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 2013-09-22
      • 1970-01-01
      相关资源
      最近更新 更多