• 学习 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

  • 相关阅读:
    自己用 python 实现 base64 编码
    PHPStorm 修改类的命名空间
    PHP 发送邮件
    QQ邮箱开通SMTP服务
    Java 驼峰转下划线
    storage.setUserStorage “errcode":87009 "errmsg":"invalid signature
    window下 phpstorm 打不开
    VBS 去除文件夹下 Excel 的公式
    HTTPS 验证访问略记
    Ubuntu 搜狗输入法输入异常
  • 原文地址:https://www.cnblogs.com/xiayao/p/5294220.html
Copyright © 2020-2023  润新知