ASIHTTPRequest

来源:互联网 发布:js实现幻灯片效果 编辑:程序博客网 时间:2024/05/21 13:58

     ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。

引入头文件,引库


#import <UIKit/UIKit.h>

#import "ASIHTTPRequest.h"

#import "ASINetworkQueue.h"

@interface RootViewController :UIViewController


@end

//*********************************************************************************************//

#import "RootViewController.h"

@interface RootViewController ()


@end

@implementation RootViewController

- (void)viewDidLoad {

   [superviewDidLoad];

   self.navigationItem.title =@"ASIHttpResquest";

   //创建一个队列

   ASINetworkQueue *queue = [[ASINetworkQueue alloc] init];

   //设置回调方法

   [queue setRequestDidFinishSelector:@selector(downLoadFinsh:)];

   [queue setQueueDidFinishSelector:@selector(queueFinish:)];

   //终止以前的所有请求

   [queue cancelAllOperations];

   //创建请求

   NSURL *url1 = [NSURLURLWithString:@"http://imgsrc.baidu.com/baike/pic/item/6609c93d70cf3bc7e43db93dd500baa1cd112a25.jpg"];

   NSURL *url2 = [NSURLURLWithString:@"http://enjoy.eastday.com/images/thumbnailimg/month_1410/20141005101117482.jpg"];

   NSURL *url3 = [NSURLURLWithString:@"http://www.sj88.com/attachments/201412/25/13/4c5aetlpt.jpg"];

   ASIHTTPRequest *request1 = [ASIHTTPRequest requestWithURL:url1];

   ASIHTTPRequest *request2 = [ASIHTTPRequest requestWithURL:url2];

   ASIHTTPRequest *request3 = [ASIHTTPRequest requestWithURL:url3];

   //标记请求

   request1.tag = 1;

   request2.tag = 2;

   request3.tag = 3;

   //加到队列

   [queue addOperation:request1];

   [queue addOperation:request2];

   [queue addOperation:request3];

   queue.delegate = self;

   [queue go];

}


- (void)downLoadFinsh:(ASIHTTPRequest *)request

{

   if (request.tag ==1) {

      NSLog(@"第一个请求下载结束");

      UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageWithData:request.responseData]];

      imageV.frame = CGRectMake(10,5, 115,150);

      [self.view addSubview: imageV];

   } elseif (request.tag == 2) {

      NSLog(@"第二个请求下载结束");

      UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageWithData:request.responseData]];

      imageV.frame = CGRectMake(130,5, 115,150);

      [self.view addSubview: imageV];

   } else {

      NSLog(@"第三个请求下载结束");

      UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageWithData:request.responseData]];

      imageV.frame = CGRectMake(250,5, 115,150);

      [self.view addSubview: imageV];

   }

}


- (void)queueFinish:(ASIHTTPRequest *)request

{

   NSLog(@"所有的请求都结束了,也就是队列结束了");

}

- (void)didReceiveMemoryWarning {

   [superdidReceiveMemoryWarning];

}

@end


0 0