AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查。下面我就开始进入正题了。

目前使用人数最多的第三方网络库,没有之一。从开始的NSURLConnection到现在的NSURLSession,它都一直保持着与苹果的步调一致,而由它也衍生出大量的相关第三方网络功能库,不仅仅因为他的可靠,好用,一直保持着维护更新,也是为什么它这么受到广大程序员的青睐。

上传data

//
// ViewController.m
// CX- AFNetworking3.0简介
//
// Created by ma c on 16/3/22.
// Copyright © 2016年 xubaoaichiyu. All rights reserved.
// #import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; [self upLoadData]; }
//上传data
-(void)upLoadData{ UIImage * image = [UIImage imageNamed:@"renminbi.jpg"]; NSData * data = UIImageJPEGRepresentation(image, ); AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
/*
POST 上传地址
parameters 文本参数
constructingBodyWithBlock 上传文件的block,有可能多次调用
progress 上传进度
success 上传成功
failure 上传失败
*/
[manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { /* formData 上传的数据 FileData 上传文件的data name 上传文件的key fileName 服务器上的名字 mimeType 上传资源的类型 */ [formData appendPartWithFileData:data name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg"]; } progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@"%@",uploadProgress); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功->%@",responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"失败->%@",error); }]; } @end

上传文件

//上传文件
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; /*
POST 上传地址
parameters 文本参数
constructingBodyWithBlock 上传文件的block,有可能多次调用
progress 上传进度
success 上传成功
failure 上传失败
*/
[manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { /* formData 上传的数据 FileData 上传文件的data name 上传文件的key fileName 服务器上的名字 mimeType 上传资源的类型 */ NSURL * url = [[NSBundle mainBundle] URLForResource:@"renminbi.jpg" withExtension:nil]; [formData appendPartWithFileURL:url name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg" error:nil]; } progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@"%@",uploadProgress); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功->%@",responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"失败->%@",error); }];

Get

AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];

    [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    }];

Post

AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];

    [manager POST:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    }];

GetXML

AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];

    manager.requestSerializer = [AFHTTPRequestSerializer serializer];

    manager.responseSerializer = [AFXMLParserResponseSerializer serializer];

    [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

    }];

最新文章

  1. C#数组的声明
  2. 二十三、Java基础--------网络编程
  3. BlocksKit初见:一个支持将delegate转换成block的Cocoa库
  4. SIP进行时
  5. POJ 2251 Dungeon Master(广搜,三维,简单)
  6. C#字符串拼接怎么转义背景图片
  7. Cyclic Nacklace - HDU 3746(next求循环节)
  8. HOOK钩子 - 钩子函数说明
  9. perl malformed JSON string, neither tag, array, object, number, string or atom, at character offset
  10. Hive中频繁报警的问题
  11. Spring基础学习(三)&mdash;详解Bean(下)
  12. nyoj_471:好多的树(容斥原理)
  13. spring schedule定时任务(二):配置文件的方式
  14. The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
  15. 程序员面试宝典3TH-ch7.2
  16. _ZNote_Qt_按钮增加图片
  17. C# 简单学习正则表达式
  18. 想涨工资吗?那就学习Scala,Golang或Python吧
  19. sso接口的调用
  20. Python3.X如何下载安装urllib2包 ?

热门文章

  1. Storm构建分布式实时处理应用初探
  2. CSS垂直居中总结
  3. 【css3笔记】---- 渐变的秘密
  4. Linux环境下shell和vim中乱码原因及消除办法
  5. 死去活来,而不变质:Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?
  6. [译]ZOOKEEPER RECIPES-Locks
  7. SqlHelper中IN集合场景下的参数处理
  8. Spark Shuffle原理、Shuffle操作问题解决和参数调优
  9. div里嵌套了img 底部会出现白边
  10. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①