美文网首页
AFNetworking 的日常用法(自己总结)

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

作者: 努力奔跑的小男孩 | 来源:发表于2017-04-06 23:40 被阅读42次
    使用之前必须先引用头文件 #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 请求过程中所发生的错误
            //在这个地方提示用户失败结果
            
        }];
    }
    

    相关文章

      网友评论

          本文标题:AFNetworking 的日常用法(自己总结)

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