欢迎来到天天文库
浏览记录
ID:8807377
大小:66.24 KB
页数:3页
时间:2018-04-08
《【无限互联】ios开发之afnetworking使用方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、【无限互联】iOS开发之AFNetWorking使用方法一.概况简述1.相关网络已有AFNetworking资源包的下载。2.将资源包添加到工程文件里即可。3.在所需工程文件中添加一行#import“AFNetworking”,便可使用。4.AFNetworking通过网络来加载和处理结构化的数据,支持JSON,XML,PropertyList。注:AFNetWorking使用了ARC,所以在不使用ARC项目中使用时,对AFNetWorking的所有.m文件添加“-fobjc-arc”;[objc] viewplaincopy1.NSString *url
2、string = @"https://api.weibo.com/2/statuses/home_timeline.json"; 2. 3.NSDictionary *params = @{@"access_token":@"2.00TSa6WDewTgPDfa63e0f0883oK2XE"}; //构造Request//请求参数的添加//请求参数的格式:/*JSON格式:AFJSONRequestSerializer &拼接格式:AFHTTPRequestSerializer*///创建请求参数的格式化对象[objc] viewplaincopy1
3、.AFHTTPRequestSerializer *requestSerializer = [AFHTTPRequestSerializer serializer]; //构造Request[objc] viewplaincopy1.NSMutableURLRequest *request = [requestSerializer requestWithMethod:@"GET" URLString:urlstring parameters:params error:nil]; //构造连接对象[objc] viewplaincopy1.AFHTTPR
4、equestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; //设置返回数据的解析方式,每一种解析方式对应了一个类/**JSON解析:AFJSONResponseSerializerXML解析:AFXMLParserResponseSerializer*/[objc] viewplaincopy1.operation.responseSerializer = [AFJSONResponseSerializer serializerWithRe
5、adingOptions:NSJSONReadingMutableContainers]; //设置数据请求成功、失败调用的block[objc] viewplaincopy1.[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 2. 3.NSLog(@"responseObject = %@",responseObject); 4. 5.} failure:^(AFHTTPRequestOperati
6、on *operation, NSError *error) { 6.NSLog(@"网络请求失败"); 7.}]; //添加到队列,发送请求[objc] viewplaincopy1.queue = [[NSOperationQueue alloc] init]; 2.[queue addOperation:operation]; (1)根据基本的URL构造除完整的一个URL,然后通过这个完整的URL获得一个NSURL对象,然后根据这个url获得一个NSURLRequest。(2)同AFJSONRequestOperation类,整合网络获取数
7、据并对JSON进行解析。(3)当请求成功,则运行成功块。将本例解析出来的微博数据从JSON变量转换为一个字典(dictionary),并将其储存在字典中。(4)若运行出现问题,则运行失败块(failureblock),如网络不可用,failureblock被调用了,则将会通过一些错误信息打印出来。//(1)获取请求管理对象[objc] viewplaincopy1.AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; //(2)与GET请求相差不
8、远,此下获取发送POST请求[objc] viewplaincop
此文档下载收益归作者所有