软件 | AFNetworking iOS网络库 3.0.4 官方版 |
图标 | ![]() |
分类 | 软件下载-应用软件-编程开发-编程控件 编程控件 |
语言 | 简体中文 |
大小 | 253KB |
软件类型 | 国产软件 |
发布时间 | |
用户评分 | 3 |
备案号 | |
官方网址 | |
软件授权 | 免费软件 |
操作系统 | Windows平台 |
厂商 | |
下载 | ![]() |
介绍 |
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:@"//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]; |
截图 | |
随便看 |
|
网盟-旗舰软件下载站,将绿色免费商业版破解软件、共享软件、游戏、电影、电视剧一网打尽!