AFNetWorking的使用

作者: RandomThoughts | 来源:发表于2016-06-20 08:49 被阅读0次
AFNetWorking 是一个经常使用的第三方,它是一个轻量级的网络请求API类库,我们也可以通过它来对网络状态进行实时监测。(个人觉得这个第三方比自己以前根据GET 和 POST请求来封装的网络请求更加简单粗暴,喜欢的猿猿们可以对它再次封装哦!!!)

1.GET请求

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:@"网址" parameters:@"字典参数" progress:^(NSProgress *
_Nonnull downloadProgress) {NSLog(@"下载时进度条进度");
} success:^(NSURLSessionDataTask * _Nonnull task, id _NullableresponseObject) {
NSLog(@"成功后回调的 responseObject 就是请求的 NSData 数据");} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@" 请求失败返回的error");}];

2.POST请求

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:@"网址" parameters:@"字典参数" progress:^(NSProgress *
_Nonnull downloadProgress) {NSLog(@"下载时进度条进度");
} success:^(NSURLSessionDataTask * _Nonnull task, id _NullableresponseObject) {
NSLog(@"成功后回调的 responseObject 就是请求的 NSData 数据");} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@" 请求失败返回的error");}];

3.实时监测网络状态

AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManagersharedManager];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatusstatus) {
      switch (status) {
           case AFNetworkReachabilityStatusUnknown:
              NSLog(@"未识别的网络");
              break;
           case AFNetworkReachabilityStatusNotReachable:
              NSLog(@"无网络");
              break;
           case AFNetworkReachabilityStatusReachableViaWWAN:
               NSLog(@"2G,3G,4G...网络 ");
               break;
           case AFNetworkReachabilityStatusReachableViaWiFi:
               NSLog(@"wifi网络");
               break;
             default:
                  break;
     }
}];
[manager startMonitoring];

相关文章

网友评论

    本文标题:AFNetWorking的使用

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