前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AFNetworking类库使用示例

AFNetworking类库使用示例

原创
作者头像
用户8671053
修改2021-11-01 09:18:20
修改2021-11-01 09:18:20
58900
代码可运行
举报
文章被收录于专栏:码农的生活码农的生活
运行总次数:0
代码可运行

AFNetworking对NSURLConnection和NSURLSession进行了封装. 下面分别用这两种方法请求数据 网址是 用来请求JSON数据的网址.

代码语言:javascript
代码运行次数:0
运行
复制
   NSString *urlPath = @"http://10.0.8.8/sns/my/user_list.php";

//  AFNetworking VS ASI 最大的优势是 有ARC支持

//  AFNetworking目标是赶上ASI, AFNetworking致辞NSURLConnection和NSURLSession

//  AFNetworking是使用NSURLConnection 和 NSURLSession

//  #improt "AFNetworking.h"



//1.使用 NSURLConnection版本的AFNetworking

//1.1创建一个AFN管理对象

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];



//1.2告诉manager只下载原始数据, 不要解析数据(一定要写)

//     AFN即可以下载网络数据, 又可以解析json数据,如果不写下面的  自动就解析json

//     由于做服务器的人返回json数据往往不规范, 凡是AFN又检查很严格,导致json解析往往失败

//     下面这句话的意思是 告诉AFN千万别解析, 只需要给我裸数据就可以

manager.responseSerializer = [AFHTTPResponseSerializer serializer];



//1.3使用GET下载数据

NSDictionary *params = @{@"page" : @"2"};//表示第几页

[manager GET:urlPath parameters:params success:

 ^(AFHTTPRequestOperation *operation, id responseObject) {

     NSData *data = operation.responseData;

     NSDictionary *dict = [NSJSONSerialization  JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

     NSLog(@"parase json is%@",dict);

 } 

 failure:^(AFHTTPRequestOperation *operation, NSError *error) {

     NSLog(@"下载错误 is %@",error);

}];








//2.使用NSURLSession版本的AFNetworking

//2.1创建一个AFN管理对象

AFHTTPSessionManager *smanager = [AFHTTPSessionManager manager];



//2.2告诉manager只下载原始数据, 不要解析数据(一定要写

smanager.responseSerializer = [AFHTTPResponseSerializer serializer];



//2.3使用GET下载数据

[smanager GET:urlPath parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {

    NSData *data = responseObject;

    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    NSLog(@"parase session is %@",dict);

} failure:^(NSURLSessionDataTask *task, NSError *error) {

    NSLog(@"下载错误 %@",error);

}];


 
</pre> 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档