ios - 不从有效 URL 加载图片

标签 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 获取图片? 我宁愿在一秒钟内得到“URL 上没有图像”,也不愿等待这么久。

附言抱歉我的英语很差

最佳答案

您很少需要使用dataWithContentsOfURL:。这是一个阻塞调用,因此需要一个后台线程。它也不够灵活,并且不能提供良好的错误返回(这是您遇到的问题)。

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

关于ios - 不从有效 URL 加载图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10527920/

相关文章:

iphone - iOS - 以编程方式使用自动布局将 UIView 定位在 super View 的中心

ios - 如何在 Xcode 中更改 iOS 推送通知的颜色?

ios - ./create:终端窗口中没有此类文件或目录错误

ios - barbuttonitem 现在显示,presentmodalviewcontroller

ios - NSData加载UIImage

ios - 更改 UIImage 中某些像素的颜色

ios - 如何使用 SwiftUI 在列表中的项目上实现长按手势?

iphone - NSURLConnection 下载委托(delegate)方法未被调用

ios - 应用程序崩溃后收到来电 twilio

ios - 使用 UIActivityViewController 自定义打印