AFNetworking的封装

特点

1.将AFNetworking 3.0封装.能够很好享受苹果开发中的面向对象开发思想 .

2.其中也提供几种方法,来请求数据.包括:GET请求/POST请求/Upload请求.

3.调用的方法,在下面详细说明

使用方法

1.导入AFNetworking 文件夹 ,UIkit+AFNetworking 文件夹,Networking.h/.m 文件, UploadImageInformationObject.h/.m 文件(前两个是官方AFNetworking 3.0中的文件,后面的是自己封装的);

2.在你想要请求数据的控制器中这两个头文件:#import "Networking.h"(如果请求只是GET请求/POST请求,就可以只导入这个头文件,否则也需要加上后面的那个头文件)和#import "UploadImageInformationObject.h" ;

3.然后就是传入你的请求网址(urlString),网址的参数(parameters没有,写nil),请求的body类型(requestBodyType),回复数据类型(responseDataType),请求方法(requestMethod = GET/POST/Upload),代理(delegate,一定不要忘记了,不然没法完成请求),还有一个tag值(这个是针对一个控制器中区分多个网络请求);

4.注意:这里有个代理需要遵守<NetworkingDelegate> . 里面的那张图片自己添加,然后找到对应的位置更换

源码

github:https://github.com/makingitbest/NetworkingPackaging

细节

1.网络请求首要解决的问题是:苹果自身的网络安全,在info.plist中添加以下代码

2.GET请求与POST请求可以用同一种方法,只要更改请求方法的类型:()

回复参数不对,出现的错误是这样的,(上面的是正确的写法,下面的POST请求回复数据类型是错误的)

3.网络请求的两种写法:一种方法是相对应得参数一一赋值,另一种方法是调用所写的便利构造器,就拿上传图片的请求来说

4.结束网络请求 在这里取消

- (void)dealloc {

[self.uploadOneNetworking cancleRequest];

[self.uploadTwoNetworking cancleRequest];

[self.getNetworking       cancleRequest];

[self.postNetworking      cancleRequest];

}

5.将self.session .responseSerializer.acceptableContentTypes 转移到这个位置以后的返回数据,就直接是字典,无需再接着解析。

6.顺便添加一部分的调试信息。

7.在进行网络请求时,请求的序列化就变成了 反复的数据类型就变成了kJSONResponseType

AFNetworking的封装的更多相关文章

  1. iOS开发之网络请求(基于AFNetworking的再封装)

    最近一直很忙也没有什么时间写博客了.放假了休息一下,就写一篇博客来总结一下最近做项目中出现过的问题吧!!! 首先,在项目中我的起到了什么作用,无非就是把美工(UI设计师)给我们的图显示出来,然后再和服 ...

  2. 【原】AFNetworking源码阅读(六)

    [原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...

  3. 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)

    上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下 ...

  4. 一劳永逸的解决AFNetworking3.0网络请求问题(面向对象封装大法,block回调)

    AFNetworking在iOS网络请求第三方库中占据着半壁江山,前段时间将AFNetworking进行了3.0版本的迁移,运用面向对象的设计将代码进行封装整合,这篇文章主要为还在寻找AFNetwor ...

  5. AFNetworking源码浅析

    本文将从最简单的GET请求方法的使用入手,由表及里,逐步探究AFNetworking如何封装处理原生的网络请求. 一.AFNetworking的简单使用 -(void)getDemo{ AFHTTPS ...

  6. HTTPPost/AFNetWorking/JSONModel/NSPredicate

    一.HTTPPost================================================ 1. POST方式发送请求 HTTP协议下默认数据发送请求方法是GET方式,若需要 ...

  7. ios cocopods 安装使用及高级教程

    CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的 ...

  8. 尚德,国美 interview summary

    尚德 Q:SDWebimage源代码,cell重用.先请求出来小头像,再请求出大头像?怎么处理? SDWebImageDownloader 直接给cell设置图片会怎样 A:图片URL相同,比较nsd ...

  9. iOS检测网络连接状态

    官方Demo下载地址:https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip 将Reachab ...

随机推荐

  1. CSS list-style属性控制ul标签样式

    试一试 <style type="text/css" media="all"> ul { list-style-type: disc; } ul#c ...

  2. 深入学习jQuery选择器系列第六篇——过滤选择器之状态选择器

    × 目录 [1]焦点状态 [2]哈希状态 [3]动画状态[4]显隐状态 前面的话 过滤选择器的内容非常多,本文介绍过滤选择器的最后一部分——状态选择器 焦点状态 :focus :focus选择器选择当 ...

  3. java面试知识(来自牛客网)

    接口和抽象类的区别是什么? 接口和抽象类的区别是什么? Java提供和支持创建抽象类和接口.它们的实现有共同点,不同点在于:接口中所有的方法隐含的都是抽象的.而抽象类则可以同时包含抽象和非抽象的方法. ...

  4. Ubuntu杂记——Ubuntu自带拼音输入发杂乱不堪

    打开终端,用管理员权限输入ibus-daemon -drx,重启即可

  5. 1Z0-053 争议题目解析706

    1Z0-053 争议题目解析706 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 706.You execute the following command to set the ...

  6. WebLogic12.1.1中跨域问题的探讨以及几种常见中间件中跨域问题的解决方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.问题描述 扬州现场中最开始安装了中间件WebLogic12.1.1 ...

  7. 【JUC】JDK1.8源码分析之CopyOnWriteArrayList(六)

    一.前言 由于Deque与Queue有很大的相似性,Deque为双端队列,队列头部和尾部都可以进行入队列和出队列的操作,所以不再介绍Deque,感兴趣的读者可以自行阅读源码,相信偶了Queue源码的分 ...

  8. JavaScript的三种工业化调试方法

    JavaScript的三种工业化玩法 软件工程中任何的语言如果想要写出健壮的代码都需要锋利的工具,当然JavaScript也不例外,很多朋友刚入门的时候往往因为工具选的不对而事半功倍,JavaScri ...

  9. window.open

    window.open 的三个参数 第一个参数:url 第二个参数:对应新打开标签或者窗口的window.name属性,如果为填默认为 "_blank" 第三个参数:如果有则打开的 ...

  10. 自己实现简单的AOP(五)使Demo适应webApi、亦可完成属性自动注入

    在前文的Demo中,webApi的Controller是不能自动注入的,原因是 IHttpController 和 IController 是通过两个不同的途径进行激活的. IHttpControll ...