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

-
AFURLSessionManager
它是这孩子最核心的地方了,功能强大,管理着众多的网络任务,下载啊,上传啊... 考虑到实用性,这孩子还特意创建了一个继承自AFURLSessionManager
的子类,叫做AFHTTPSessionManager
。通过这个类啊,我们可以进行常用的GET
POST
网络请求,很体贴吧!当然,如果要进行单纯地下载和上传工作,就用它的父类AFURLSessionManager
吧。 -
AFURLRequestSerialization
它啊是一个协议,里面还定义了几个类,可以看一下它的照片。它可以将请求的参数按照不同的形式进行编码,还能定义请求头的类型。 -
AFURLResponseSerialization
它啊和上面那位差不多,也是个协议,里面定义了好几个类,同样看一下孩子的照片吧。服务器返回的数据有很多种呢,不同的类型要用不同的方式解码嘛~
对了,这两兄弟主要是针对AFHTTPSessionManager
来说的,不过AFURLSessionManager
也有一个关于 response 的属性。 -
AFSecurtiyPolicy
这个模块,哈哈,我不怎么了解,和证书验证相关的,还没用过呢,等以后用到了再来补充。 -
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
啦。
最后:这篇文章就是用来认识这个孩子的拉,代码不一定要全部看懂,但要对他有个浅浅的全面的认识,有助于在脑中形成这个孩子的印象啦,好啦,拜~
网友评论