不从有效URL加载图片

时间:2012-05-10 05:19:15

标签: ios xcode uiimage

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]]];

我使用上面的代码,然后检查

if (image)
    return image;
else
{
    NSLog(@"no image on URL");
    return nil;
}

但有时(非常非常少)我没有从有效的网址获取图片。网址有效100%。

通常需要将近一秒的时间来加载图片,但是当它无法加载图片时,该过程需要更多的时间(20-200秒)。 然后我得到“URL上没有图像”。

有没有更好的方法从网址获取图片? 我宁愿在一秒内得到“没有关于URL的图像”,然后等待这么久。

P.S。为我可怜的英语而苦恼

1 个答案:

答案 0 :(得分:1)

您想要使用dataWithContentsOfURL:是非常罕见的。这是一个阻塞调用,因此需要一个后台线程。它也不灵活,不能提供良好的错误返回(这是你遇到的问题)。

请参阅URL Loading System Programming Guide。通常,您需要为此类工作配置异步NSURLConnection。如果您正在进行大量的网络操作,您可能需要考虑像MKNetworkKitAFNetworking这样的框架,它可以为您处理许多复杂问题。