较老版本的 AFNetworking 下载链接 http://pan.baidu.com/s/14Cxga

将压缩包中的文件夹拖入xcode工程项目中并引入如下的框架

简单的 JOSN 解析例子
    static NSString *serverAddress = @"http://m.weather.com.cn/data/101110101.html";

  // 1.创建JSON操作对象
    AFJSONRequestOperation *operation =
    [AFJSONRequestOperation
     JSONRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:serverAddress]]
     success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
         NSLog(@"success -- %@", JSON);
     } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
         NSLog(@"failure -- %@", JSON);
     }];

// 2.执行对象的操作异步加载
    [operation start];

简单的 XML 解析例子

static NSString *serverAddress = @"http://flash.weather.com.cn/wmaps/xml/beijing.xml";
    
    // 1.创建XML操作对象
    AFXMLRequestOperation *operation =
    [AFXMLRequestOperation
     XMLParserRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:serverAddress]]
     success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser) {
         NSLog(@"success -- %@", XMLParser);
     }
     failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, NSXMLParser *XMLParser) {
         NSLog(@"failure -- %@", XMLParser);
     }];

// 2.执行对象的操作异步加载
    [operation start];

HTTP POST请求例子

-----------------------------------------------------------------------------------------------------

//内联函数

NS_INLINE AFHTTPClient * createAFHTTPClient(NSString *baseURLString)
{
    //创建一个AFHTTPClient的链接,仅需传入服务器URL的String即可
    return [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:baseURLString]];
}

NS_INLINE NSData * createJSONDataFromDict(NSDictionary *params)
{
    //根据字典创建出JSON专用格式的NSData
    return [NSJSONSerialization dataWithJSONObject:params
                                           options:NSJSONWritingPrettyPrinted
                                             error:nil];
}

-----------------------------------------------------------------------------------------------------

//服务器地址
    static NSString *serverAddress = @"http://art.wooboo.com.cn/support/service.shtml";
    
    //初始化一个本地的httpClient
    AFHTTPClient *httpClient = createAFHTTPClient(serverAddress);
    
    //完善httpClient并形成一个POST请求报文
    NSURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST"
                                                                  path:serverAddress
                                                            parameters:nil
    constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        
        
        NSArray *paramsType = @[@{@"action": @"loadImg", @"artId": @"0"}];
        
        
        //转换字典数据为JSON专用格式并再次转换为字符串
        NSString *params = [[NSString alloc] initWithData:
                            createJSONDataFromDict(paramsType[0])
                                                 encoding:NSUTF8StringEncoding];
        
        
        //进一步完善请求的内容 (Content-Disposition: form-data; name=#{name}")
        [formData appendPartWithFormData:[params dataUsingEncoding:NSUTF8StringEncoding]
                                    name:@"p"];
    }];
    
    
    //将请求报文发送到服务器进行链接
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [operation
     setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
         
         
         NSLog(@"%@", jsonObjectFromData(responseObject));
         
         
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         
         NSLog(@"error.");
         
     }];
    [operation start];

加载网络图片

-----------------------------------------------------------------------------------------------------

//内联函数

NS_INLINE NSURL * netURL(NSString *netPath)
{
    //网络文件的URL
    return [NSURL URLWithString:netPath];
}

NS_INLINE UIImage * imageFromBuddleByName(NSString *imageName)
{
    //通过名字获取buddle中图片资源
    return [UIImage imageNamed:imageName];
}

-----------------------------------------------------------------------------------------------------

- (void)setImageWithURL:(NSURL *)url
    placeholderImage:(UIImage *)placeholderImage;

Creates and enqueues an image request operation, which asynchronously downloads the image from the specified URL. Any previous image request for the receiver will be cancelled. If the image is cached locally, the image is set immediately, otherwise the specified placeholder image will be set immediately, and then the remote image will be set once the request is finished.

-----------------------------------------------------------------------------------------------------

static NSString *picServerAddress =
    @"http://wallpapers.wallbase.cc/high-resolution/wallpaper-2677423.jpg";

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)];

[imageView setImageWithURL:netURL(picServerAddress)
                      placeholderImage:imageFromBuddleByName(@"1.png")];

-----------------------------------------------------------------------------------------------------

较老版本 AFNetworking 使用心得相关推荐

  1. Python3.8.5最新版安装教程(含老版本卸载教程)

    目录 1.卸载老版本的Python 1. 删除Python相关的软件 2. 删除整个Python安装目录 3. 删除Python相关的环境变量 2.下载Python 3.Python的安装 1.卸载老 ...

  2. pocoserver无限重启_poco相机老版本

    poco相机老版本3.4.5不更新版是针对生活.美食.美景等方便打造的全能相机.在poco相机老版本3.4.5不更新版中帮助用户轻松记录生活的每个精彩瞬间,高清输出,老版本的下载可适合多种手机机型,每 ...

  3. 老版本select2设置初始值

    废话不多说:我说的老版本就是要求初始元素为input; <input id='example' value='2'/> 下面是data格式 data: [{"id": ...

  4. 解决eWebEditor老版本在IE新版本下按钮失效问题一劳永逸的办法

    解决eWebEditor老版本在IE新版本下按钮失效问题一劳永逸的办法 参考文章: (1)解决eWebEditor老版本在IE新版本下按钮失效问题一劳永逸的办法 (2)https://www.cnbl ...

  5. Delphi中Indy 10的安装和老版本的卸载

    安装中遇到的问题: 1,用新的indy替换掉了老版本source下面的indy 2,按照参考资料编译的.dpk版本要保持跟老版本一致,如本人的就是XXX100.dpk 3,编译和安装路径统一放在了de ...

  6. 【Android 应用开发】Paint 图形组合 Xfermod 之 合成模式表示方法 ( Xfermod 使用步骤 | 透明度 颜色值 公式表示方法 | 老版本表示方法 | 合成区域分块 )

    文章目录 Xfermod 使用步骤 合成方程 ( Compositing equations ) 老版本的表示方法 合成模式 相关 区域 Xfermod 使用步骤 Xfermod 使用步骤 : ① 创 ...

  7. 如何检出SVN老版本代码

    问题  在项目开发过程中,我们总会需要检出SVN老版本代码,比如发布一个稳定版本到UAT环境,然后该稳定版本上又测试出了一些不得不修改的Bug,这个时候我们就必须要检出对应版本的代码,而不是SVN上最 ...

  8. Ubiquiti几十款无线产品爆出命令注入漏洞 是因为没有升级老版本的PHP 据说厂商还未给出补丁...

    Ubiquiti Networks公司提供的几十款产品中存在紧急漏洞,该漏洞可用于劫持设备.这个漏洞已于11月上报给了该厂商,但目前厂商尚未发布补丁修复大多数受影响的设备. 命令注入漏洞来自于没有升级 ...

  9. beego之context新老版本使用

    在不同版本中对应的ctx的类型和package有所不同. 在老版本中是通过引入beego包就可以直接使用beego.Context获取的到. 比如: import "github.com/a ...

最新文章

  1. 扩增子分析解读4去嵌合体,非细菌序列,生成代表性序列和OTU表
  2. LFS、BLFS、ALFS、HLFS的区别
  3. 【Linux】一步一步学Linux——iptables-restore命令(188)
  4. SAP gateway currency transformation from string to ABAP format - deserialization
  5. Spark基础学习笔记07:搭建Spark HA集群
  6. Sharding-Sphere_分库分表小结和问题_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记005
  7. BZOJ 1070: [SCOI2007]修车(费用流)
  8. 加密芯片——3DES算法特点与应用注意事项
  9. css3中关于transform rotate、translate()、skew()、scale()的复合变换
  10. 学业水平测试计算机知识点,2021高中学业水平考试信息技术知识点
  11. java 双三次线性插值_双线性及双三次插值
  12. 读书笔记:《圈子圈套》
  13. 通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
  14. HCNE实验指导文档(全)
  15. 修身、齐家、治国、平天下
  16. 大数据算法工程师知识点大全
  17. 鲲鹏大数据解决方案拆解:用硬实力跨越技术与应用的鸿沟
  18. 什么是 Web 应用防火墙(WAF)?
  19. python之WeChat撩妹神奇
  20. Python文字转换语音,抠脚大汉秒变撒娇萌妹

热门文章

  1. Android开发者指南(7) —— App Install Location
  2. 速修复!Netgear交换机曝3个严重的认证绕过漏洞
  3. 3年后准确率仍达97%:利用谷歌语音转文本 API 绕过reCAPTCHA
  4. 开源计算机视觉库 OpenCV 被曝两个严重的任意代码执行漏洞(详情)
  5. Go sync.Map 看一看
  6. Redis添加密码认证Cacti监控读取Redis状态值为-1的最快速解决方案
  7. Spring+SpringMVC+MyBatis整合基础篇
  8. “图片”--上传(文件上传一致,单文件)
  9. 计算机网络知识点回顾
  10. Python 扯淡的Map-Reduce