Ios 如何使用AFNetworking下载许多图像?

Ios 如何使用AFNetworking下载许多图像?,ios,iphone,ios6,afnetworking,sdwebimage,Ios,Iphone,Ios6,Afnetworking,Sdwebimage,我正在制作一个应用程序 我需要从服务器上下载很多图片,但我不知道怎么做:( 我尝试使用以下代码: UIImageView *image=(UIImageView *)[cell viewWithTag:100]; dispatch_async(dispatch_get_global_queue(0,0), ^{ NSData * data = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:@"FileName"]];

我正在制作一个应用程序

我需要从服务器上下载很多图片,但我不知道怎么做:(

我尝试使用以下代码:

UIImageView *image=(UIImageView *)[cell viewWithTag:100];
dispatch_async(dispatch_get_global_queue(0,0), ^{
NSData * data = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:@"FileName"]];
        if ( data == nil )
            return;
        dispatch_async(dispatch_get_main_queue(), ^{

            image.image=[UIImage imageWithData:data];

        });
        data=nil;
    });

这个代码很慢…我需要更快地完成它…我认为AFNetworking是最好的选择,不是吗?

AFNetworking将非常适合您的需要。它有自己的
UIImageView
类别,可以非常顺利地处理异步图像加载。试试看。

AFNetworking将非常适合您的需要。它有自己的de>UIImageView类别,可非常顺利地处理异步图像加载。请尝试一下。

您有几个选项,其中一个是AFNetworking。但是,如果使用AFNetworking,则应使用文件夹中的类

以下是它的文档:


另一个很好的选项是,它为您提供了对缓存和图像处理的更高级控制,例如在图像显示之前处理图像,处理您自己的缓存等。

您有几个选项,其中一个是AFNetworking。但是,如果您使用AFNetworking,您应该使用文件夹中的类

以下是它的文档:


另一个很好的选择是,它为您提供了对缓存和图像处理的更高级控制,例如在图像显示之前处理图像,处理您自己的缓存等。

AFNetworking是一个非常棒的框架,它将使您能够轻松地执行异步图像请求

但是,使用AFNetworking不会加快代码的速度


可能会使您的代码变慢,但差异应该是无关紧要的,只有当您的图像太大且解码图像的时间很长时(我认为这不是问题所在)。

AFNetworking是一个非常棒的框架,可以让您轻松执行异步图像请求

但是,使用AFNetworking不会加快代码的速度


可能会使您的代码变慢,但差异应该是无关的,只有当您的图像太大且解码图像的时间很长时(我认为这不是问题)。

就像前面的答案所建议的那样,这是一个很好的方法

不过,我也建议使用。这里有很多很好的功能,比如很酷的缓存处理和图像解压缩

首先,试着做类似的事情

[self.image setImageWithURL:[NSURL URLWithString:imagePath]
               placeholderImage:[UIImage imageNamed:@"placeholder"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                   [image setImage:image];
}];

当谈到加速代码时,我不知道为什么您的代码一开始就很慢,因为您已经在异步执行了。

就像前面的答案所建议的那样,这是一个很好的方法

不过,我也建议使用。这里有很多很好的功能,比如很酷的缓存处理和图像解压缩

首先,试着做类似的事情

[self.image setImageWithURL:[NSURL URLWithString:imagePath]
               placeholderImage:[UIImage imageNamed:@"placeholder"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                   [image setImage:image];
}];


当谈到加速代码时,我不知道为什么你的代码一开始就很慢,因为你已经在异步运行了。

好吧……但这是我的问题……我不知道如何使用AFNetworking为什么?他说他的代码很慢,使用AFNetworking将如何加速他的代码?他会用AFNetworking的cod替换他的代码e、 AFNetworking代码太棒了。-如果你不知道如何使用AFNetworking,这不是一个可以问的地方。你似乎缺乏在iOS中编写代码所需的基本技能,最好去上一门课程(比如iTunes U上免费提供的课程)或者从书中学习。我知道AFNetworking是一个很棒的框架,我不是问如何使用它。我只是问AFNetworking如何加速他的代码?因为它不会犯调用
[UIImage imageWithData:]
在主线上。他显然是一个没有经验的程序员,而创建AFNetworking的天才知道如何优化他的代码。好吧……但这是我的问题。我不知道如何使用AFNetworking为什么?他说他的代码很慢,使用AFNetworking将如何加快他的代码?他会用AFNetworking的代码替换他的代码。AF网络代码太棒了。-如果你不知道如何使用AFNetworking,这不是一个可以问的地方。你似乎缺乏在iOS中编写代码所需的基本技能,最好去上一门课程(比如iTunes U上免费提供的课程)或者从书中学习。我知道AFNetworking是一个很棒的框架,我不是问如何使用它。我只是问AFNetworking如何加速他的代码?因为它不会犯调用
[UIImage imageWithData:]
在主线程上。他显然是一个没有经验的编码员,而创建AFNetworking的天才知道如何优化他的代码。+1
SDWebImage
更适合于拥有大量图像的情况,并且允许批量预取。+1
SDWebImage
更适合于拥有大量图像的情况低批量预取。是的,我想是的。我需要下载很多图片,比如2或4 MB大小的图片…也许这就是问题所在…是的,我想是的。我需要下载很多图片,比如2或4 MB大小的图片…也许这就是问题所在…这看起来很酷。但是我在AFNetworking的文档中没有看到任何允许一个以上图像重设的内容任务。它看起来像是当前请求的新请求。根据文档。@Tander是的,如果您使用的是相同的
UIImageView
,但是如果您有多个
UIImageView
,您可以一次下载任意多个图像。您应该知道SDWebImage在当前版本之前使用NSURLConnection。他们没有pgraded to NSURLSession。我建议您使用AFNetworking。这看起来很酷。但是我在AFNetworking的文档中没有看到允许多个映像请求的任何内容。它看起来像是一个新请求,而不是当前请求。根据文档。@Tander是的,如果您使用的是相同的
UIImageView
,但是您如果您有多个
UIImageView
SY您应该知道SDWebIm