AFNetworking 使用总结 (用法+JSON解析)

  

From:http://www.coneboy.com/?p=716

这几天在评论页面的时候发现get请求后加入2个以上的汉字会出现BadURL提示,断点调试发现是多中文字符惹的祸,所以在URL使用以前先转码成UTF-8即可
这里顺便说明下自己使用AFNetworking 的常用方法。

目前我只是用到
#import “AFHTTPClient.h”;
#import “AFHTTPRequestOperation.h”
这两个类

发起一个请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 NSString *URLTmp = @”http://www.coneboy.com”;
NSString *URLTmp1 = [URLTmp stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  //转码成UTF-8  否则可能会出现错误
URLTmp = URLTmp1;
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString: URLTmp]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@”Success: %@”, operation.responseString);

NSString *requestTmp = [NSString stringWithString:operation.responseString];
NSData *resData = [[NSData alloc] initWithData:[requestTmp dataUsingEncoding:NSUTF8StringEncoding]];
//系统自带JSON解析
NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData:resData options:NSJSONReadingMutableLeaves error:nil];

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@”Failure: %@”, error);
[SVProgressHUD dismissWithError:@”提交失败,请重试”];
}];
[operation start];
}

AFNetworking 下载图片
AFNETWorking 下载图片是异步并且可缓存到cache里面 非常好用不会阻塞主线程。用过的都说好!而且使用也简单!
#import “UIImageView+AFNetworking.h”

1
[imageView setImageWithURL:[NSURL URLWithString:URL]];

最新文章

  1. mysql 查询表,视图,触发器,函数,存储过程
  2. Flex Excel下载
  3. nginx 日志分析
  4. Flume学习 & Kafka & Storm 等 & Log4J 配置
  5. Ubuntu下安装FTP服务及使用(以VSFTPD为例)
  6. Linux中断(interrupt)子系统
  7. TeeChart显示三维的图形,使用Surface
  8. 解决Eclipse乱码的办法
  9. Win7/8在用账户密码登录时, 设置成保留用户名, 只输入密码
  10. FMX对象释放
  11. Javaweb 第7天 Servlet课程
  12. 词链(link)
  13. [leetcode-530-Minimum Absolute Difference in BST]
  14. 【Beta】 第二次Daily Scrum Meeting
  15. google浏览器插件推荐
  16. JAVA_SE基础——36.static的实际应用
  17. myBatis源码之BatchExecutor
  18. 用while实现阶乘
  19. npm install出现"Unexpected end of JSON input while parsing near"
  20. InternalError (see above for traceback): Blas GEMV launch failed: m=1, n=100

热门文章

  1. MCS-51系列和80C51系列单片机是否相同
  2. 使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework
  3. Java实现SOAP协议 之 HelloWorld
  4. redis 异常排查
  5. 上海西服定制Angry Eagle 顶级西服,私人订制你的美
  6. URAL 1244
  7. Java[4] Jetty工作原理介绍(转)
  8. 苹果有益让老iPhone变慢以迫使消费者购买新一代的iPhone?
  9. c++11 : Variadic Macros(变长参宏)
  10. Gcc简介与常用命令