zoukankan      html  css  js  c++  java
  • 网络-AFN

    AFN

    什么是AFN
    全称是AFNetworking,是对NSURLConnection的一层封装
    虽然运行效率没有ASI高,但是使用比ASI简单
    在iOS开发中,使用比较广泛

    AFN的github地址
    https://github.com/pokeb/AFNetworking/AFNetworking

    AFN的版本选择

    AFHTTPSessionManager
    AFHTTPSessionManager
    是AFN中最重要的对象之一
    封装了HTTP请求的常见处理
    GETPOST请求
    解析服务器的响应数据

    创建
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];

    GETPOST请求
    GET请求
    - (NSURLSessionDataTask *)GET:(NSString *)URLString
                       parameters:(id)parameters
                       success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
                       failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure

    POST请求
    - (NSURLSessionDataTask *)POST:(NSString *)URLString
                       parameters:(id)parameters
                       success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
                       failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure


    文件上传
    - (NSURLSessionDataTask *)POST:(NSString *)URLString
                        parameters:(id)parameters
         constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block
                        success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
                        failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure

    监控联网状态
    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
    [manager startMonitoring];

    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        NSLog(@"%d", status);
    }];

    提示:要监控网络连接状态,必须要先调用单例的startMonitoring方法

    ASI和AFN架构对比




     

    本人无商业用途,仅仅是学习做个笔记,特别鸣谢小马哥,学习了IOS,另日语学习内容有需要文本和音频请关注公众号:riyuxuexishuji
  • 相关阅读:
    SRM 582 Div II Level Three: ColorTheCells, Brute Force 算法
    SRM 583 Div II Level One:SwappingDigits
    SRM 583 Div Level Two:IDNumberVerification
    [置顶] gis海量资源网盘提供VIP账号无广告高速下载 (更新更多资源)
    为什么必须是final的呢?
    SRM 583 Div II Level Three:GameOnABoard,Dijkstra最短路径算法
    【学习opencv第七篇】图像的阈值化
    quartz 2.1学习(一)
    [置顶] C++之TinyXML的使用介绍
    写个小程序来比对两个目录下的不同文件
  • 原文地址:https://www.cnblogs.com/laugh/p/6548542.html
Copyright © 2011-2022 走看看