学习 AFNetworking 3.0

AFNetworking 3.0

1.AFURLSessionManager

基于特定的 NSURLSessionConfiguration,并遵从 <NSURLSessionTaskDelegate>,<NSURLSessionDataDelegate>,<NSURLSessionDownloadDelegate>和<NSURLSessionDelegate>,管理 NSURLSession 对象,该类的方法基于 GCD ,封装了对于网络访问的异步请求。

AFHTTPSessionManager 是 AFURLSessionManager 的一个子类,用来创建和管理 HTTP 请求。该类对于网络访问常见的 GET/POST/HEAD/DELETE 等方法进行了封装,默认的回调是在主线程执行的(可以自行设置 completionQueue,在子线程完成回调)。

2.该库还包括的类有:

 AFURLResponseSerialization:

用来创建response Serializer,来处理来自服务器的响应,并使用 GET / POST 等方法处理返回的信息,默认的 response serializer 是 AFJSONResponseSerializer,此外可以针对 XML/PropertyList/Image 等设置相应的response serializer

AFURLRequestSerialization:

用来管理request  Serializer,设置网络请求的各项参数,包括字符串编码、是否允许蜂窝网络访问、缓存策略、cookies 处理、请求超时间隔、请求头、请求体等。默认的 request Serializer 是 AFJSONRequestSerializer,此外可以针对 XML/PropertyList/Image 等设置相应的 request serializer

AFSecurityPolicy:

用来管理网络相关的安全策略等。 SSL 安全验证类型有如下三种,默认是 AFSSLPinningModeNone 类型,另外通过 SSL 证书和密钥可以增加请求的安全性,避免请求被劫持和攻击

AFNetworkReachabilityManager:

用来监测网络状态的变化。这个类和苹果官方提供的 Reachability 类功能类似,但是功能更加强大,不仅增加了更多的公共属性,也增加了状态变更闭包(block)操作,还增加了通知标志串。

其他:主要是一些基于 AFNetworking 的一些UIKit策略的封装,包括 UIImage、UIImageView、UIRefreshControl等。

3.使用方法

一般步骤

1.创建 manager;

2.设置响应或者请求的 serializer(默认为支持 JSON 格式,其他格式需要设置);

3.设置请求的各项参数;

4.通过 manager 执行请求的方法;

 (1)GET 请求(XML 和 JSON,使用 KissXML 解析)

(2)POST 请求

(3)POST 上传

(4)设置安全证书

(5)UIKIT + AFNetworking

原文地址:https://www.cnblogs.com/xiayao/p/5294220.html