框架学习
cmd+shift+j 跳转当前文件
1.获取框架
2.查看官方文档
3.运行演示程序
4.建立学习分支
5.编写测试程序
- (void)postJSON {
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
mgr.requestSerializer = [AFJSONRequestSerializer serializer];
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
NSDictionary *params = @{@"name": @"xiaohua", @"age": @18};
[mgr POST:@"http://localhost/upload/postjson.php" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
}];
}```
/**
请求的数据格式(一般都是 `HTTP` 二进制数据,RESTful设计风格要求 POST JSON)
self.requestSerializer = [AFHTTPRequestSerializer serializer];
响应的数据格式(JSON 是使用最广的数据格式,没有之一!)
默认就是 JSON,能够自动实现 JSON 的反序列化
self.responseSerializer = [AFJSONResponseSerializer serializer];
<AFURLRequestSerialization> 请求的数据格式
AFHTTPRequestSerializer HTTP,二进制,默认的
AFJSONRequestSerializer JSON
AFPropertyListRequestSerializer PList
<AFURLResponseSerialization> 响应的数据格式
AFHTTPResponseSerializer 二进制
AFJSONResponseSerializer JSON,默认的
AFXMLParserResponseSerializer XML `解析器`
AFXMLDocumentResponseSerializer (Mac OS X) iPhone不能直接使用,需要用GData-XML
AFPropertyListResponseSerializer PList
AFImageResponseSerializer Image,AFN同样提供了异步加载网络图片的功能
但是:不支持 `GIF`,只有 `SDWebImage` 支持
AFCompoundResponseSerializer `组合`
* 常见数据格式的小结
1. 发送二进制数据,返回 JSON
AFN 的默认格式
2. 发送二进制数据,返回 XML
1> SAX 解析
mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];
2> DOM 解析(对节点增加或者删除) 二进制数据格式
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
[[GDataXMLDocument alloc] initWithData:data error:NULL];
3. 发送 JSON 修改请求的数据格式
AFJSONRequestSerializer
4. 其他:Image,用 SDWebImage 居多!
** 提示:
status code: 200
说明网络请求成功,`二进制数据`已经正确传输到本地
数据
感谢@daoge
网友评论