zoukankan      html  css  js  c++  java
  • AFN

    1. AFHTTPRequestOperationManager: 封装的是 NSUrlConnection ; 3.0之后已经被舍弃.

      iOS 9.0 之前使用最多的一个类. 类似于 AFHTTPSessionManager (封装的是 NSUrlSession),专门用来发送网络请求的!

      AFNetworkReachabilityManager :用来实时监测当前网络状态的!

      AFSecurityPolicy :安全策略:支持 HTTPS 请求.

      AFN 主要用来发送网络请求. 特点: 会自动/默认解析 JSON 数据!

     2.AFN 成功回调的要求 1.网络请求成功 2.服务器返回的必须是JSON数据 3.AFN能够解析JSON数据

     http://blog.sina.com.cn/s/blog_68661bd80101r1xz.html

    解析器的类型

     3. AFN 会默认解析 JSON 数据.

      AFN 中默认有三种类型的解析器.

      1> AFHTTPResponseSerializer :万能的解析器.什么数据都可以解析.会将服务器返回的二进制数据直接返回给你.

      2> AFJSONResponseSerializer :解析 JSON 数据,默认就是这种解析器.

      3> AFXMLParserResponseSerializer :XML 解析器.

     改变解析器类型

     manager.responseSerializer = [AFXMLParserResponseSerializer serializer];

     增加解析器解析文件类型

     manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript" ,@"text/plain",nil];

     4. AFN 使用注意:

      要根据服务器返回的数据类型,选择合适的解析器类型!

      5.利用 AFN 监测网络状态!

      AFNetworkReachabilityManager 只要网络状态改变,都可以监测到!

     下面是提供的实例:

       1. 实例化网络工具监测类.

     AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

       2. 设置网络状态改变之后的操作.

      ReachabilityStatusChangeBlock:一旦网络状态改变之后,就会执行下面的 block.

     [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

     switch (status) {

     case AFNetworkReachabilityStatusUnknown:

     NSLog(@"未知的网络...");

     break;

     case AFNetworkReachabilityStatusNotReachable:

     NSLog(@"没有网络...");

     break;

     case AFNetworkReachabilityStatusReachableViaWWAN:

     NSLog(@"蜂窝移动网络...");

     break;

     case AFNetworkReachabilityStatusReachableViaWiFi:

     NSLog(@"WIFI网络...");

     break;

     default:

     break;

     }

     }];

     // 开启网络监测.

     [manager startMonitoring];

     block的循环引用

  • 相关阅读:
    [LeetCode][SQL]Rising Temperature
    google API的.NET库
    Google Reader的另一个开源的替代品Go Read
    C#中反射接受的字符串需要满足的Backus-Naur Form语法
    Windows的应用管理工具 PortableApps,Chocolatey和Ninite
    如何定制Windows系统右键菜单
    另一个有趣的Captcha 网站
    .gitignore模板
    遇到sql server的问题时如何排查
    如何传播你的代码
  • 原文地址:https://www.cnblogs.com/bao-yu/p/5423696.html
Copyright © 2011-2022 走看看