文档章节

AFNetworking3.0的使用 与2.0的区别

iOS赵师顺
 iOS赵师顺
发布于 2016/06/18 13:33
字数 473
阅读 67
收藏 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
Oauth2.0与Oauth1.0的区别

Oauth1.0与oauth2.0的区别 云计算的热火,引出了大量的开放平台,各种第三方应用建立在开放平台之上,对于安全性的要求,于是出现了oauth协议,2007年发布了Oauth1.0协议,同时又开始了Oauth...

程序袁_绪龙
2014/09/18
0
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

没有更多内容

加载失败,请刷新页面

加载更多

存储过程知识点收集

记录下,以后要常用的问题 1、获取刚刚插入数据产生的ID SCOPE_IDENTITY 返回当前作用域的插入后产生的一条ID @@IDENTITY 返回当前表的最后一条ID

轻轻的往前走
5分钟前
0
0
elixir keyword和map的区别

┌──────────────┬────────────┬───────────────────────┐ │ Keyword List │ Map/Struct │ HashDict (deprec...

wmzsonic
8分钟前
0
0
解决bootstrap-table-fixed-columns.js显示列与隐藏列按钮切换表格不对齐

<table class="table-striped table-hasthead nowrap" id="tableTest1" data-search="true" data-show-columns="true" data-fixed-columns="true" data-fixed-number="3"></table> 含有dat......

tianyawhl
10分钟前
0
0
ES6 系列之 defineProperty 与 proxy

摘要: ## 前言 我们或多或少都听过“数据绑定”这个词,“数据绑定”的关键在于监听数据的变化,可是对于这样一个对象:`var obj = {value: 1}`,我们该怎么知道 obj 发生了改变呢? ## def...

阿里云官方博客
15分钟前
0
0
美团点评携手 PingCAP 开启新一代数据库深度实践之旅

一、背景和现状 在美团,基于 MySQL 构建的传统关系型数据库服务已经难于支撑公司业务的爆发式增长,促使我们去探索更合理的数据存储方案和实践新的运维方式。随着近一两年来分布式数据库大放...

TiDB
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部