AFNetworking的封装

AFNetworking的封装

 

特色git

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

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

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

 

使用方法session

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

2.在你想要请求数据的控制器中这两个头文件:#import "Networking.h"(若是请求只是GET请求/POST请求,就能够只导入这个头文件,不然也须要加上后面的那个头文件)和#import "UploadImageInformationObject.h" ;url

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

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

相关文章
相关标签/搜索