美文网首页iOS面试面试
iOS面试题收集(之AFN 网络请求)

iOS面试题收集(之AFN 网络请求)

作者: SK丿希望 | 来源:发表于2017-10-27 12:37 被阅读694次

    AFN:网络请求

    AFN主要使用在2个场景中

    (1):发送网络请求
    (2):实时监测网络状态

    AFNetworking 2.0 和3.0 的区别
    1. AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。
    2. AFNetworking 3.0现已完全基于NSURLSession的API,这降低了维护的负担,同时支持苹果增强关于NSURLSession提供的任何额外功能。
    3. 可以结合MBProgressHUD,网络请求时间短的话,就可以不要显示HUD,提高用户体验,另外HUD也可以懒加载,全程只需要一个HUD即可。HUD内部有创建HUD对象时涉及到请求时间的类方法,在这个方法中如果请求时间小于某个值,就返回nil,即不显示HUD。此外AFN还有联网检测功能,每次请求网络之前先检测有没有网络,没有网络则提示用户(涉及到AFN和HUD的组合封装)
    • GET请求和POST请求的区别:
       GET请求:
    
       请求参数会在浏览器的地址栏中显示,所以不安全;
       请求参数长度限制长度在1K之内;
        GET请求没有请求体,无法通过request.setCharacterEncoding()来设置参数的编码;
        POST请求:
    
       请求参数不会显示浏览器的地址栏,相对安全;
       请求参数长度没有限制;
    
    • 实时检测网络状态改变的类
    AFNetworkReachabilityManager 实时检测网络状态改变的类
    
    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
    
    // 设置网络状态改变之后的操作
    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        
        // status :当前的网络状态.
        //        AFNetworkReachabilityStatusUnknown
        //        AFNetworkReachabilityStatusNotReachable
        //        AFNetworkReachabilityStatusReachableViaWWAN
        //        AFNetworkReachabilityStatusReachableViaWiFi
        
        switch (status) {
            case AFNetworkReachabilityStatusUnknown:
                NSLog(@"未知的网络状态");
                break;
            case AFNetworkReachabilityStatusNotReachable:
                NSLog(@"没有网络");
                break;
            case AFNetworkReachabilityStatusReachableViaWWAN:
                NSLog(@"蜂窝移动网络");
                break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"WIFI网络");
                break;
            default:
                break;
        }
    }];
    // 开始检测网络状态
    [manager startMonitoring];
    

    相关文章

      网友评论

        本文标题:iOS面试题收集(之AFN 网络请求)

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