AFNetworking类库使用示例
2018-07-20 来源:open-open
AFNetworking对NSURLConnection和NSURLSession进行了封装. 下面分别用这两种方法请求数据 网址是 用来请求JSON数据的网址.
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);
}];
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
下一篇: jpeg转bmp实现c代码
最新资讯
热门推荐