AFNetworking

框架学习

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容