AFNetworking的封装
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的封装的更多相关文章
- iOS开发之网络请求(基于AFNetworking的再封装)
最近一直很忙也没有什么时间写博客了.放假了休息一下,就写一篇博客来总结一下最近做项目中出现过的问题吧!!! 首先,在项目中我的起到了什么作用,无非就是把美工(UI设计师)给我们的图显示出来,然后再和服 ...
- 【原】AFNetworking源码阅读(六)
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...
- 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)
上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下 ...
- 一劳永逸的解决AFNetworking3.0网络请求问题(面向对象封装大法,block回调)
AFNetworking在iOS网络请求第三方库中占据着半壁江山,前段时间将AFNetworking进行了3.0版本的迁移,运用面向对象的设计将代码进行封装整合,这篇文章主要为还在寻找AFNetwor ...
- AFNetworking源码浅析
本文将从最简单的GET请求方法的使用入手,由表及里,逐步探究AFNetworking如何封装处理原生的网络请求. 一.AFNetworking的简单使用 -(void)getDemo{ AFHTTPS ...
- HTTPPost/AFNetWorking/JSONModel/NSPredicate
一.HTTPPost================================================ 1. POST方式发送请求 HTTP协议下默认数据发送请求方法是GET方式,若需要 ...
- ios cocopods 安装使用及高级教程
CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的 ...
- 尚德,国美 interview summary
尚德 Q:SDWebimage源代码,cell重用.先请求出来小头像,再请求出大头像?怎么处理? SDWebImageDownloader 直接给cell设置图片会怎样 A:图片URL相同,比较nsd ...
- iOS检测网络连接状态
官方Demo下载地址:https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip 将Reachab ...
随机推荐
- WPF开发查询加班小工具
先说一下,我们公司是六点下班,超过7点开始算加班,但是加班的时间是从六点开始计算,以0.5个小时为计数,就是你到了六点半,不算加班半小时,但是加班到七点半,就是加班了一个半小时. 一.打卡记录 首先, ...
- 【原创】开源Math.NET基础数学类库使用(02)矩阵向量计算
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- 关于SubSonic3.0查询或更新时出现System.NullReferenceException异常的处理
在调试程序时,同事发现添加记录时,出现了System.NullReferenceException异常 DictBase dict = new DictBase(); dict.DictCode ...
- php对文本文件进行分页功能简单实现
php对文本文件进行分页功能简单实现 <!DOCTYPE> <html> <head> <meta http-equiv="Content-type ...
- 12个不可不知的Sublime Text应用技巧和诀窍
本文为您提供Sublime Text编辑器的12个技巧和诀窍,深入挖掘这个看似简洁的代码编辑器,背后所隐藏的实现各种高级功能的无限可能. 1) 选择 以下是一些Sublime Text选择文本的快捷键 ...
- 在博客中使用LaTeX插入数学公式
在博客中使用LaTeX插入数学公式 在学习机器学习中会接触到大量的数学公式,所以在写博客是会非常的麻烦.用公式编辑器一个一个写会非常的麻烦,这时候我们可以使用LaTeX来插入公式. 写这篇博文的目的在 ...
- ZOJ Problem Set - 1241 Geometry Made Simple
水题不解释 #include <stdio.h> #include <math.h> int main() { ,flag=; double a,b,c; while(scan ...
- 1Z0-053 争议题目解析470
1Z0-053 争议题目解析470 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 470.Which NLS parameter can be used to change the ...
- 你想不到的!CSS 实现的各种球体效果【附在线演示】
CSS 可以实现很多你想不到的效果,今天我们来尝试使用 CSS 实现各种球体效果.有两种方法可以实现,第一种是使用大量的元素创建实际的 3D 球体,这种方法有潜在的性能问题:另外一种是使用 CSS3 ...
- Masonry_设置比例
[self.bgView addSubview:self.progressImageView]; [self.progressImageView mas_makeConstraints:^(MASCo ...