AFNetworking官网入门教程简单翻译,学习 AFNetworking 是一个能够快速使用的ios和mac os x下的网络框架,它是构建在Foundation URL Loading System之上的,封装了网络的抽象层,可以方便的使用,AFNetworking是一个模块化架构,拥有丰富api的框架。 一、HTTP请求与操作: 1、AFHTTPRequestOperationMa 该类封装与Web应用程序进行通信通过HTTP,包括要求制作,响应序列化,网络可达性监控和安全性,以及要求经营管理的常见模式。 GET 请求: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 AFHTTPRequestOperationMa [manager GET:@"http:///resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }]; POST 带有表单参数的POST请求: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 AFHTTPRequestOperationMa NSDictionary *parameters = @{@"foo": @"bar"}; [manager POST:@"http:///resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }]; POST Multi-Part格式的表单文件上传请求: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 AFHTTPRequestOperationMa NSDictionary *parameters = @{@"foo": @"bar"}; NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; [manager POST:@"http:///resources.json"
parameters:parameters constructingBodyWithBloc } success:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }]; 二、Session管理: 1、AFURLSessionManager:创建和管理制定的NSURLSession对象 2、NSURLSessionConfiguratio 创建一个下载任务: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 NSURLSessionConfiguratio AFURLSessionManager *manager = [[AFURLSessionManager
alloc] initWithSessionConfigura NSURL *URL = [NSURL URLWithString:@"http:///upload"]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { }]; [uploadTask resume]; 创建一个数据流任务: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 NSURLSessionConfiguratio AFURLSessionManager *manager = [[AFURLSessionManager
alloc] initWithSessionConfigura NSURL *URL = [NSURL URLWithString:@"http:///upload"]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { }]; [dataTask resume]; 四、使用AFHTTPRequestOperation 1、AFHTTPRequestOperation是使用HTTP或HTTPS协议的AFURLConnectionOperation 它封装的获取后的HTTP状态和类型将决定请求的成功与否。 2、虽然AFHTTPRequestOperationMa 通过GET方式: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 NSURL *URL = [NSURL URLWithString:@"http:///resources/123.json"]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request]; op.responseSerializer = [AFJSONResponseSerializer [op
setCompletionBlockWithSu } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }]; [[NSOperationQueue mainQueue] addOperation:op]; 连续操作多个: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 NSMutableArray *mutableOperations = [NSMutableArray array]; for (NSURL *fileURL in filesToUpload) { } NSArray *operations =
[AFURLConnectionOperation } completionBlock:^(NSArray *operations) { }]; [[NSOperationQueue mainQueue] addOperations:operations waitUntilFinished:NO]; |
|