ASIHTTPRequest 作为一款优秀的开源库,包括了普通的http请求,带cache功能,还支持请求队列,数据流,以及数据的压缩。 本文介绍 ASIHTTPRequest的最常用也是最简单的一部分使用方法, 使用它来下载一张图片
ASIHTTPRequest *httpRequest = [ASIHTTPRequest requestWithURL:url]; //根据url创建请求
//通过一个block来实现完成功能回调
[httpRequest setCompletionBlock:^{
[loadingView hide:YES];
UIImage *downloadedImage = [UIImage imageWithData:[httpRequest responseData]];
imageView.image = downloadedImage; }];//展示图片
//通过block来实现接受数据的过程使用
[httpRequest setBytesReceivedBlock:^(unsigned long long size, unsigned long long total){ NSLog(@"size:%lld,total:%lld",size,total); downloadedBytes += size; CGFloat progressPercent = (CGFloat)downloadedBytes/total; loadingView.progress = progressPercent; progressViewYellow.progress = progressPercent; progressLabel.text = [NSString stringWithFormat:@"%.0f%%",progressPercent*100]; }];
[httpRequest startSynchronous]; //使用同步方式请求,这会在主线程中进行
[httpRequest startAsynchronous]; //使用异步方式请求,推荐