美文网首页
关于 AFNetWorking 这个孩子

关于 AFNetWorking 这个孩子

作者: 雨雪传奇 | 来源:发表于2016-08-09 15:13 被阅读44次

AFNetWorking这个孩子大家都不陌生,他很小但很实用,很多人都喜欢他。这篇文章那,是对这个孩子进行一个初步的认识,随着我和他关系的深入,我相信可以全面理解哒。

先来张他得照片把:


我是 AFNetWorking
  1. AFURLSessionManager
    它是这孩子最核心的地方了,功能强大,管理着众多的网络任务,下载啊,上传啊... 考虑到实用性,这孩子还特意创建了一个继承自AFURLSessionManager的子类,叫做AFHTTPSessionManager。通过这个类啊,我们可以进行常用的GET POST网络请求,很体贴吧!当然,如果要进行单纯地下载和上传工作,就用它的父类AFURLSessionManager吧。

  2. AFURLRequestSerialization
    它啊是一个协议,里面还定义了几个类,可以看一下它的照片。它可以将请求的参数按照不同的形式进行编码,还能定义请求头的类型。

  3. AFURLResponseSerialization
    它啊和上面那位差不多,也是个协议,里面定义了好几个类,同样看一下孩子的照片吧。服务器返回的数据有很多种呢,不同的类型要用不同的方式解码嘛~
    对了,这两兄弟主要是针对AFHTTPSessionManager来说的,不过AFURLSessionManager也有一个关于 response 的属性。

  4. AFSecurtiyPolicy
    这个模块,哈哈,我不怎么了解,和证书验证相关的,还没用过呢,等以后用到了再来补充。

  5. AFNetWorkReachabilityManager
    这个模块是用来监测网络连接状态的,我们AFURLSessionManager已经定义了和这个相关的属性,可以看小伙子的照片,当然你也可以自己创建一个来监测,比如:

AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
  
[manager startMonitoring];
    
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {
            case AFNetworkReachabilityStatusUnknown:
                NSLog(@"Unknown");
                break;
            case AFNetworkReachabilityStatusNotReachable:
                NSLog(@"NotReachable");
                break;
            case AFNetworkReachabilityStatusReachableViaWWAN:
                NSLog(@"ViaWWAN");
                break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"ViaWiFi");
                break;
        }
    }];

用这个 block 比较好拉,如果直接在APP启动的时候就判断,可以会返回 unknown啦。

最后:这篇文章就是用来认识这个孩子的拉,代码不一定要全部看懂,但要对他有个浅浅的全面的认识,有助于在脑中形成这个孩子的印象啦,好啦,拜~

相关文章

网友评论

      本文标题:关于 AFNetWorking 这个孩子

      本文链接:https://www.haomeiwen.com/subject/smkdsttx.html