文档章节

AFNetworking3.0的使用 与2.0的区别

iOS赵师顺
 iOS赵师顺
发布于 2016/06/18 13:33
字数 473
阅读 65
收藏 0

1、

- (void)viewDidLoad {

    [super viewDidLoad];

//    AFNetworking 3.0 与AFNetworking2.0的区别

      /**

     1.废弃了基于 NSURLConnection 的所有API,升级到基于 NSURLSession

     2.AFNetworking 3.0正式支持的iOS 7, Mac OS X的10.9, watchOS 2 , tvOS 9 和Xcode 7

     3.被废弃的类::::::AFURLConnectionOperation,AFHTTPRequestOperation,AFHTTPRequestOperationManager

     4.被修改的类:::::UIImageView+AFNetworking,UIWebView+AFNetworking,UIButton+AFNetworking

     5.如果你以前使用 AFHTTPRequestOperationManager , 你将需要迁移去使用 AFHTTPSessionManager

     6.UIAlertView的类目被废

     */  

//    初始化管理者

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    manager.requestSerializer.timeoutInterval = 30;

//    上传普通的格式

    manager.requestSerializer = [AFHTTPRequestSerializer serializer];

//    收到数据的格式(data)  注意 :不加这句会报错Request failed: unacceptable content-type: text/plain”错误,因为我们要获取text/plain类型数据

    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

POST请求;

    //    [self Post:manager];

GET请求

   //  [self Get:manager];

    网络监测

    // [self Reachability];

}

#pragma mark - POST

 

- (void)Post:(AFHTTPSessionManager *)manager{

    

    //    请求参数

    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"20131129", @"date", @"1", @"startRecord", @"5", @"len", @"1234567890", @"udid", @"Iphone", @"terminalType", @"213", @"cid", nil];

 

    [manager POST:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?" parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

//        拼接data到请求体,

        

    } progress:^(NSProgress * _Nonnull uploadProgress) {

//        获取目前数据的进度

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

        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];

        NSLog(@"%@",dic);

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

        

        NSLog(@"%@",error.localizedDescription);

    }];

    

}

#pragma mark - GET

 

- (void)Get:(AFHTTPSessionManager *)manager{

        [manager GET:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

            

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

            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];

            

            NSLog(@"%@", dic);

            

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

            NSLog(@"%@",error.localizedDescription);

 

        }];

}

 

#pragma mark - 网络监测

 

- (void)Reachability{

    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {

            case AFNetworkReachabilityStatusUnknown:

                NSLog(@"未知网络");

                break;

            case AFNetworkReachabilityStatusNotReachable:

                NSLog(@"无网络");

                break;

                case AFNetworkReachabilityStatusReachableViaWiFi:

                NSLog(@"WiFi");

                break;

                case AFNetworkReachabilityStatusReachableViaWWAN:

                NSLog(@"流量上网");

                break;

            default:

                break;

        }

    }];

//    开始监听 (一定不要忘了)

    [manager startMonitoring];

}

#pragma mark - 上传、下载功能 就不在更了

© 著作权归作者所有

共有 人打赏支持
iOS赵师顺
粉丝 3
博文 74
码字总数 36150
作品 0
昌平
程序员
基于 AFNetworking 网络框架--XDNetworking

XDNetworking 基于AFNetworking3.0封装网络请求功能,API面向业务层更友好,基础功能包括GET、POST、下载、单文件上传、多文件上传、取消网络请求。此外拓展出缓存功能,缓存分为内存缓存和磁...

caixindong123
2016/08/11
494
0
AFNetWorking3.0的简单使用

AFNetWorking3.0的简单使用 标签: iOS网络数据AFNetWorking AFNetWorking3.0的使用 实现GET、POST请求 实现文件、图片上传、下载 检测网络状态 设置请求头数据 [objc] view plain copy #im...

法斗斗
2016/03/17
110
0
AFN 3.0 表单上传图片和文字 iOS 7.0的一些问题

背景:在上一个项目版本中一直使用AFNetworking2.0这个主流的网络请求库,AFHTTPRequestOperationManager从来未让人操心过。在新版迭代中,突发奇想的去升级AFNetworking3.0,使用了AFHTTPS...

Daniel_s
2016/05/11
336
0
用AFNetworking框架管理从聚合数据上面请求到的数据

数据从JSON文档中读取处理的过程称为“解码”过程,即解析和读取过程,来看一下如果利用AFNetworking框架去管理从聚合数据上面请求到的数据。 一、下载并导入AFNetworking框架 这部分内容如果...

白jian
2016/11/17
69
0
利用AFNetworking框架去管理从聚合数据上面请求到的数据

数据从JSON文档中读取处理的过程称为“解码”过程,即解析和读取过程,来看一下如果利用AFNetworking框架去管理从聚合数据上面请求到的数据。 一、下载并导入AFNetworking框架 这部分内容如果...

熊babi
2016/08/11
7
0

没有更多内容

加载失败,请刷新页面

加载更多

docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
29分钟前
1
0
unload事件

unload事件不触发的原因分析 1.代码位置不对,应该优先加载,不能放到回调函数中 2.浏览器不支持 3.最可能的原因,unload事件中触发的函数是一个异步执行的函数,浏览器是不允许在窗口关闭之后在...

狮子狗
42分钟前
1
0
DbForge Schema Compare for MySQL入门教程:如何连接到数据库

【dbForge Schema Compare for MySQL下载】 要创建连接: 1. 在“Connection” 工具栏上单击“New Connection”按钮 。 2. 在“Host” 框中输入主机名。 3. 在“Port” 框中输入端口信息。默...

Miss_Hello_World
44分钟前
1
0
公众号关联微信小程序

公众号关联小程序发送关联通知,对于推广小程序有着很大的帮助。所以问题来了,怎么做到在公众号关联小程序发送关联通知呢? 一:开发中遇到的问题 之前在开发过程中发现,公众号已经关联小程...

Code辉
57分钟前
1
0
并发编程基础之JMM学习摘要

一、JMM定义 Java内存模型即Java Memory Model(JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见(内存可见性),从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程...

狠一点
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部