您的当前位置:首页AFNetworking 的日常用法(自己总结)

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

2024-12-13 来源:哗拓教育
使用之前必须先引用头文件 #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 请求过程中所发生的错误
        //在这个地方提示用户失败结果
        
    }];
}
显示全文