在做项目过程中,我们为了界面实现数据的易用性,通常不会使用同步解析数据,因为那样会造成如果数据未加载完成,界面就处于无法使用的状态。
而使用异步解析,我们就想到使用到AFNetworking了。
AFNetworking是一个机遇异步解析数据的轻量级网络请求api类库,她非常的便捷高效,但是有些朋友可能在使用的过程中出现了很多小问题,下面我就给大家介绍一个AFNetworking使用的官方示例,简单粗暴,效果不错。
示例代码如下:
<span style="color:#333333;">// 需要先获取到接口的url 并保存到NSURLRequest类型的对象中
NSURLRequest * request = [NSURLRequest requestWithURL:url];
// 定义AFHTTPRequestOperation类型的对象
AFHTTPRequestOperation * operation = [[AFHTTPRequestOperation alloc]initWithRequest:request];
// 使用该对象 调用setCompletionBlockWithSuccess方法
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
// 将你所需要的参数保存到一个NSData对象中
NSData * data = [[NSData alloc]initWithData:[operation.responseString dataUsingEncoding:NSUTF8StringEncoding]];
// 使用系统自带JSON解析 并保存给id类型的对象(也可以是你接口中显示的类型)
id result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// 当解析因为网络等问题没有成功时,进入此处,并在控制台打印错误信息
NSLog(@"%@", error);
}];
// 开始解析数据 (千万不要忘记)
[operation start];</span>
使用以上方法,有幸运值加成,解析不会出错哦~