AFNetworking 的日常用法(自己总结)

使用之前必须先引用头文件 #import "AFNetworking.h"

POST 用法 直接撸代码

-(void)AFPOSTMethod{
    //创建session任务管理对象
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //设置二进制解析器
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    NSString *url = @"http://10.0.8.8/sns/my/user_list.php";
    //请求数据时传递的参数
    NSDictionary *para = @{@"page":@1,@"number":@10};
    
    //使用AF发起POST 请求
  [manager POST:url parameters:para success:^(NSURLSessionDataTask *task, id responseObject) {
        //task执行请求的session 任务
        //responseObject POST 请求的返回结果
        //请求成功的block
        //在这里做解析,UI显示
        NSDictionary *dict =[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"POST :%@",dict);
        
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
        //失败的block
        //task 执行请求的session任务
        //error 请求过程中发生的错误
        NSLog(@"失败:%@",error.domain);
    }];
}

GET 用法

-(void)AFGETMethod
{
    //创建Session任务管理
    AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
    //设置管理对象的解析器,设置为二进制解析器,AF支持二进制、jsonXML
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    //如果要支持其他的数据格式
//    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"html/text",nil];
    NSString *url = @"http://10.0.8.8/sns/my/user_list.php";
    //请求数据时传递的参数
    NSDictionary *para = @{@"page":@1,@"number":@10};
    
    //AF 发起GET请求
    [manager GET:url parameters:para success:^(NSURLSessionDataTask *task, id responseObject) {
        //请求成功的block,在这里做后续解析和刷新UI
        //task 去完成这次请求任务的session 任务
        //responseObject 请求成功之后得到的 请求结果
        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
//        NSLog(@"GET 结果:%@",dict);
        //取count
        NSNumber *count = dict[@"count"];
        //取到所有的用户字典
        NSArray *users = dict[@"users"];
        //取到用户字典中的第一个字典
        NSDictionary *userDict = [users firstObject];
        //取用户头像的URL
        NSString *headimage = userDict[@"headimage"];
        NSLog(@"count : %@  headimage:%@",count,headimage);      
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
       //请求失败时的回调block,
        //task 是去完成这次请求的session任务
        //error 请求过程中所发生的错误
        //在这个地方提示用户失败结果
        
    }];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,713评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,789评论 25 709
  • 为什么要有自控力? 存在太多的诱惑让我们会做出不利于自身的决定,这个时候自控力就显得尤为重要。而这些诱惑看似来自外...
    baiying阅读 1,378评论 0 0
  • 这几天“南京车站女童被性侵”一事在网上闹的沸沸扬扬,当事女童疑是这家人的养女。据统计,性侵害儿童案件八成以上是熟人...
    河丫丫阅读 3,247评论 0 0
  • 文/磊少 内容创业和自媒体,相信大家都不会陌生。今天,和大家分享的是如何构建自媒体矩阵。 如果你想要进行互联网创业...
    我是磊少阅读 5,049评论 9 14