西西软件园多重安全检测下载网站、值得信赖的软件下载站!
西西首页 电脑软件 安卓软件 电脑游戏 安卓游戏 排行榜 专题合集

AFNetworking

3.0.4 官方版
  • AFNetworking3.0.4 官方版
  • 软件大小:452KB
  • 更新时间:2015-12-29 10:53
  • 软件语言:中文
  • 软件厂商:
  • 软件类别:国产软件 / 免费软件 / 编程控件
  • 软件等级:4级
  • 应用平台:WinAll, Win7, Mac
  • 官方网站:https://github.com/AFNetworking/AFNetwor
  • 应用备案:
好评:50%
坏评:50%

本类精品

软件介绍

AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。AFNetworking适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉的Foundation技术之上. 它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松。

为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

CORE:

AFURLConnectionOperation:一个 NSOperation 实现了NSURLConnection 的代理方法.

HTTP Requests:

AFHTTPRequestOperation:AFURLConnectionOperation的子类,当request使用的协议为HTTP和HTTPS时,它压缩了用于决定request是否成功的状态码和内容类型.

AFJSONRequestOperation:AFHTTPRequestOperation的一个子类,用于下载和处理jason response数据.

AFXMLRequestOperation:AFHTTPRequestOperation的一个子类,用于下载和处理xml response数据.

AFPropertyListRequestOperation:AFHTTPRequestOperation的一个子类,用于下载和处理property list response数据.

HTTP CLIENT:

AFHTTPClient:捕获一个基于http协议的网络应用程序的公共交流模式.包含:

使用基本的url相关路径来只做request

为request自动添加设置http headers.

使用http 基础证书或者OAuth来验证request

为由client制作的requests管理一个NSOperationQueue

从NSDictionary生成一个查询字符串或http bodies.

从request中构建多部件

自动的解析http response数据为相应的表现数据

在网络可达性测试用监控和响应变化.

IMAGES

AFImageRequestOperation:一个AFHTTPRequestOperation的子类,用于下载和处理图片.

UIImageView+AFNetworking:添加一些方法到UIImageView中,为了从一个URL中异步加载远程图片

AFNetworking使用总结

1 将AFNetWorking文件夹导入项目

2 添加类库 Security.framework、MobileCoreServices.framework、SystemConfiguration.framework

3 在使用的地方 #import "AFNetworking.h"

解决编译时警告:

Prefix.pch文件中加入  #import <SystemConfiguration/SystemConfiguration.h>  #import <MobileCoreServices/MobileCoreServices.h>  

注:AFNetWorking使用了ARC ,在不使用ARC项目中使用时,对AFNetWorking的所有.m文件添加“-fobjc-arc” 

  在使用ARC项目中,使用“不使用ARC”的类库时,对类库的.m文件添加“-fno-objc-arc”

AFHTTPRequestOperation 核心代码

与NSURLConnection对象不同,每个共享应用范围的设置如会话管理、缓存策略、Cookie存储以及URL协议等,这些NSURLSession对象都可以单独进行配置。使用特定的配置来初始化会话,它可以发送任务来获取数据,并上传或下载文件。

在AFNetworking 2.0中,使用AFHTTPRequestOperation,有可能创建一个没有额外开销的独立的网络请求来获取数据。NSURLSession则需要更多的开销,为了获得所要请求的数据。

接下来,将要通过AFHTTPSessionManager创建一个对象,并创建一个任务和启动它。

iOS- 利用AFNetworking(AFN) - 实现图片上传

 官方建议AFN的使用方法

 1. 定义一个全局的AFHttpClient:包含有

    1> baseURL

    2> 请求

    3> 操作队列 NSOperationQueue

 2. 由AFHTTPRequestOperation负责所有的网络操作请求

 3. 修改xxx-Prefix.pch文件

#import <MobileCoreServices/MobileCoreServices.h>

#import <SystemConfiguration/SystemConfiguration.h>

0.导入框架准备工作

•1. 将框架程序拖拽进项目

•2.  添加iOS框架引用

–SystemConfiguration.framework

–MobileCoreServices.framework

•3.  引入

#import "AFNetworking.h"

1.AFN的客户端,使用基本地址初始化,同时会实例化一个操作队列,以便于后续的多线程处理

1 @interfaceViewController () 2
3 { 4
5     // AFN的客户端,使用基本地址初始化,同时会实例化一个操作队列,以便于后续的多线程处理 6
7     AFHTTPClient    *_httpClient;17     NSOperationQueue *_queue;18
19 }
1 - (void)viewDidLoad2 {3     [super viewDidLoad];4    
5     NSURL *url = [NSURL URLWithString:@"http://192.168.3.255/~apple/qingche"];6     _httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];7    
8     _queue = [[NSOperationQueue alloc] init];9 }

2.利用AFN实现文件上传操作细节

1 #pragma mark - 文件上传 2 - (IBAction)uploadImage 3 { 4     /*
5      此段代码如果需要修改,可以调整的位置
6      
7      1. 把upload.php改成网站开发人员告知的地址
8      2. 把file改成网站开发人员告知的字段名
9      */10     // 1. httpClient->url11    
12     // 2. 上传请求POST13     NSURLRequest *request = [_httpClient multipartFormRequestWithMethod:@"POST" path:@"upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {14         // 在此位置生成一个要上传的数据体15         // form对应的是html文件中的表单16        
17        
18         UIImage *image = [UIImage imageNamed:@"头像1"];19         NSData *data = UIImagePNGRepresentation(image);20        
21         // 在网络开发中,上传文件时,是文件不允许被覆盖,文件重名22         // 要解决此问题,23         // 可以在上传时使用当前的系统事件作为文件名24         NSDateFormatter *formatter = [[NSDateFormatter alloc] init];25         // 设置时间格式26         formatter.dateFormat = @"yyyyMMddHHmmss";27         NSString *str = [formatter stringFromDate:[NSDate date]];28         NSString *fileName = [NSString stringWithFormat:@"%@.png", str];29        
30        
31         /*32          此方法参数
33          1. 要上传的[二进制数据]
34          2. 对应网站上[upload.php中]处理文件的[字段"file"]
35          3. 要保存在服务器上的[文件名]
36          4. 上传文件的[mimeType]
37          */38         [formData appendPartWithFileData:data name:@"file" fileName:fileName mimeType:@"image/png"];39     }];40    
41     // 3. operation包装的urlconnetion42     AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];43    
44     [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {45         NSLog(@"上传完成");46     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {47         NSLog(@"上传失败->%@", error);48     }];49    
50     //执行51     [_httpClient.operationQueue addOperation:op];

软件截图

AFNetworking 3.0.4 官方版

其他版本下载

发表评论

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
TOP
软件下载