zoukankan      html  css  js  c++  java
  • 学习 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

  • 相关阅读:
    面试题--赵银科技
    面试题--乐视.滴滴
    面试题--CVTE
    面试题--美团
    面试题--百度
    面试题--京东 有用
    mybatis的执行流程 #{}和${} Mysql自增主键返回 resultMap 一对多 多对一配置
    SpringMVC第一天
    LeetCode -- Maximum Product Subarray
    LeetCode -- Product of Array Except Self My Submissions Question
  • 原文地址:https://www.cnblogs.com/xiayao/p/5294220.html
Copyright © 2011-2022 走看看