iOS资源库iOS 实用IOS

AFNetworking

2015-08-08  本文已影响1588人  为之_iOS

框架学习

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
上一篇下一篇

猜你喜欢

热点阅读