美文网首页
关于 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