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]; //使用异步方式请求,推荐