AFNetwork 3.x 的所有开发中常用基础介绍

前言:第三方网络请求框架中AFNetwork 3.x收欢迎程度相当高的:

由于iOS 7 和 Mac OS X 10.9 Mavericks 中一个显著的变化就是对 Foundation URL 加载系统的彻底重构。而且现在AFN 3.x版本完全摒弃了NSURLConnection,而使用了NSURLSession。

下载方式:1、直接到github官网上搜索"AFN",看到如图上图这样的受欢迎程度高的自然就是。2、使用cocoapods集成到你的项目中去。


内容大纲:

1、AFN 3.X的基本使用

2、AFN 3.X的文件下载

3、AFN 3.X的文件上传

4、AFN 3.X的使用技巧

5、AFN 3.X 序列化相关

6、AFN 3.X 网络监听

正文:

1、AFN 3.X的基本使用

1-1、步骤:

1-1-1、创建会话管理者

是AFHTTPSessionManager作为会话管理者,用manager创建

不是AFURLSessionManager,而且AFURLSessionManager无manager方法

1-1-2、开始请求,URL都不需要自己创建了。

第一个参数:请求路径(NSString

以前: http://120.25.226.186:32812/video?type=JSON

http://120.25.226.186:32812/login?username=520it&pwd=520it&type=JSON

协议头+主机地址+接口名称+?+参数&参数

现在:http://120.25.226.186:32812/video

http://120.25.226.186:32812/login

协议头+主机地址+接口名称

第二个参数:要传递的参数(字典)

第三个参数: progress:进度 nil

第四个参数: success:成功,请求成功的回调

task:请求任务

responseObject:响应体信息,而且内部已经进行了序列化处理

第五个参数:failure 请求失败的回调

task:请求任务

error:如果失败,那么error有值

1-2、源码展示

2、AFN 3.X的文件下载

2-1、步骤:

第一个参数:请求对象

第二个参数:progress 进度信息的回调

downloadProgress

completedUnitCount:已经下载的数据大小

totalUnitCount":数据的总大小

第三个参数:destination 有返回值

传递一个目标路径(NSURL),AFN内部会自动执行剪切处理

targetPath:临时路径

response: 响应头信息

第四个参数:completionHandler 下载完成之后调用

2-2、源码展示

3、AFN 3.X的文件上传

4、AFN 3.X的使用技巧

在实际开发中,是不会在控制器中直接调用框架的网络请求,比如:如果在网络请求的某个控制器中直接调用了这个AFN框架,会出现后期不好维护的情况,比如一般企业开发的app项目会有十来个二十来 个ViewController,大部分控制器都会需要活数据,也就是需要通过请求网络来获取数据,那么在多个控制器都导入和使用了AFN框架,而实际开发需求可能会让你换掉网络请求框架,要将这个AFN框架换成 ASI框架,这样可想而知,作为码农都要哭了。

那么可行性方案,也是企业开发中常常会用到的方法:

在需要网络请求的控制器和网络请求框架之间建立一个工具类,这个工具类可以是类别,也可以是普通类,然后将网络请求的方法简易封装起来,最好能应对不同情况和不同的数据的请求,并且能实现,当 我将AFN框架替换成ASI框架的时候,控制器里调用的这个工具类的方法完全不需要改变,要改变的只是工具类中将AFN替换成ASI框架。总之,创建一个网络请求工具类,能够让所有的控制器不依赖底层框 架,只依赖这个工具类。

5、AFN 3.X 序列化相关

5-1、JSON解析,内部会自动对JSON数据进行反序列化处理,通过响应头信息返回字典对象(可以打印出其类型和字典元素值查看)

不需要手动设置解析方式。

5-2、XML解析需要协议辅助解析XML,当然也可以使用我的封装好的能实现XML直接转模型字典的工具类"HYXMLParser"。

需要告诉AFN以XML的方式解析数据。

GET方法中要用有NSXMLParser参数的解析方法。

5-3、直接返回服务器的HTML数据格式,记得将返回的数据要设置Encoding为NSUTF8StringEncoding,然后直接输出。

需要手动设置告诉AFN解析方式为不解析,即AFHTTPResponseSerializer serializer。

5-4、对于返回的是NSData格式的数据,比如网络上的返回的图片、视频等资源二进制数据。

6、AFN 3.X 网络监听

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,688评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,559评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,749评论 0 226
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,581评论 0 191
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,741评论 3 271
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,684评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,122评论 2 292
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,847评论 0 182
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,441评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,939评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,333评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,783评论 2 236
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,275评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,830评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,444评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,553评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,618评论 2 249

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,408评论 6 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,471评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,050评论 18 139
  • AFN什么是AFN全称是AFNetworking,是对NSURLConnection、NSURLSession的一...
    醉叶惜秋阅读 1,094评论 0 0
  • 突然就想起好友列表里有这么一位好友,每次发照片他总是会在浏览了无数次,空间访客记录显示了好多次访问之后评论:你这照...
    木易铭阅读 311评论 0 1