AFNnetworking快速教程,官方入门教程译

新版AFNetworking的使用Demo 新版AFNetworking的使用方法和例子 立即下载

AFNetworking官网入门教程简单翻译,学习

AFNetworking 是一个能够快速使用的ios和mac os x下的网络框架,它是构建在Foundation URL Loading System之上的,封装了网络的抽象层,可以方便的使用,AFNetworking是一个模块化架构,拥有丰富api的框架。


一、HTTP请求与操作:
1、AFHTTPRequestOperationManager:
该类封装与Web应用程序进行通信通过HTTP,包括要求制作,响应序列化,网络可达性监控和安全性,以及要求经营管理的常见模式。

GET 请求:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  
  2. [manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {  
  3.     NSLog(@"JSON: %@", responseObject);  
  4. } failure:^(AFHTTPRequestOperation *operation, NSError *error) {  
  5.     NSLog(@"Error: %@", error);  
  6. }];  


POST 带有表单参数的POST请求:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  
  2. NSDictionary *parameters = @{@"foo": @"bar"};  
  3. [manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {  
  4.     NSLog(@"JSON: %@", responseObject);  
  5. } failure:^(AFHTTPRequestOperation *operation, NSError *error) {  
  6.     NSLog(@"Error: %@", error);  
  7. }];  


POST Multi-Part格式的表单文件上传请求:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  
  2. NSDictionary *parameters = @{@"foo": @"bar"};  
  3. NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];  
  4. [manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {  
  5.     [formData appendPartWithFileURL:filePath name:@"image" error:nil];  
  6. } success:^(AFHTTPRequestOperation *operation, id responseObject) {  
  7.     NSLog(@"Success: %@", responseObject);  
  8. } failure:^(AFHTTPRequestOperation *operation, NSError *error) {  
  9.     NSLog(@"Error: %@", error);  
  10. }];  


二、Session管理:
1、AFURLSessionManager:创建和管理制定的NSURLSession对象
2、NSURLSessionConfiguration对象必须实现<NSURLSessionTaskDelegate>, <NSURLSessionDataDelegate>, <NSURLSessionDownloadDelegate>, <NSURLSessionDelegate>协议


创建一个下载任务:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];  
  2. AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];  
  3.   
  4. NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];  
  5. NSURLRequest *request = [NSURLRequest requestWithURL:URL];  
  6.   
  7. NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];  
  8. NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {  
  9.     if (error) {  
  10.         NSLog(@"Error: %@", error);  
  11.     } else {  
  12.         NSLog(@"Success: %@ %@", response, responseObject);  
  13.     }  
  14. }];  
  15. [uploadTask resume];  

创建一个数据流任务:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];  
  2. AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];  
  3.   
  4. NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];  
  5. NSURLRequest *request = [NSURLRequest requestWithURL:URL];  
  6.   
  7. NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {  
  8.     if (error) {  
  9.         NSLog(@"Error: %@", error);  
  10.     } else {  
  11.         NSLog(@"%@ %@", response, responseObject);  
  12.     }  
  13. }];  
  14. [dataTask resume];  

四、使用AFHTTPRequestOperation
1、AFHTTPRequestOperation是使用HTTP或HTTPS协议的AFURLConnectionOperation的子类。
它封装的获取后的HTTP状态和类型将决定请求的成功与否。
2、虽然AFHTTPRequestOperationManager通常是最好的去请求的方式,但是AFHTTPRequestOpersion也能够单独使用。


通过GET方式:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"];  
  2. NSURLRequest *request = [NSURLRequest requestWithURL:URL];  
  3. AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];  
  4. op.responseSerializer = [AFJSONResponseSerializer serializer];  
  5. [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {  
  6.     NSLog(@"JSON: %@", responseObject);  
  7. } failure:^(AFHTTPRequestOperation *operation, NSError *error) {  
  8.     NSLog(@"Error: %@", error);  
  9. }];  
  10. [[NSOperationQueue mainQueue] addOperation:op];  

连续操作多个:

[objc]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. NSMutableArray *mutableOperations = [NSMutableArray array];  
  2. for (NSURL *fileURL in filesToUpload) {  
  3.     NSURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://example.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {  
  4.         [formData appendPartWithFileURL:fileURL name:@"images[]" error:nil];  
  5.     }];  
  6.   
  7.     AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];  
  8.   
  9.     [mutableOperations addObject:operation];  
  10. }  
  11.   
  12. NSArray *operations = [AFURLConnectionOperation batchOfRequestOperations:@[...] progressBlock:^(NSUInteger numberOfFinishedOperations, NSUInteger totalNumberOfOperations) {  
  13.     NSLog(@"%lu of %lu complete", numberOfFinishedOperations, totalNumberOfOperations);  
  14. } completionBlock:^(NSArray *operations) {  
  15.     NSLog(@"All operations in batch complete");  
  16. }];  
  17. [[NSOperationQueue mainQueue] addOperations:operations waitUntilFinished:NO];  

AFNetworking官网: http://afnetworking.com/

文档原文:http://cocoadocs.org/docsets/AFNetworking/2.0.3/

AFNetworking-master.zip ios afnetworking4.0 是ios端轻量级网络开发框架。是大部分主流app使用的网络框架,已经流行多年,非常经典 立即下载

相关推荐

Field-Oriented Control (FOC) 矢量控制 磁场定向控制

Field-Oriented Control (FOC) 磁场定向控制(FOC),也称为矢量控制,是一种用于控制永磁同步电动机(PMSM)和交流感应电动机(ACIM)的技术。 FOC在整个扭矩和速度范围内都具有良好的控制能力。 FOC的实现需要将定子电流从固定参考系转换为转子磁通参考系(也称为d-q参考系)。 速度控制和转矩控制是FOC最常用的控制模式。位置控制模式不太常见。大多数牵引应用使用转矩控制模式,在该模式下,电动机控制系统遵循参考转矩值。在速度控制模式下,电机控制器遵循参考速度值,并生成用于形成内

>>> 1万+

afn原理 ios_AFNetWorking的原理及常用操作

一.简介AFNetworking是一个轻量级的iOS网络通信类库,它建立在NSURLConnection和NSOperation等类库的基础上。AFNetworking可用于发送HTTP请求(包括GET、POST、 PUT、DELETE等),接收HTTP的响应,但是不会缓存服务器的响应,不能执行HTML页面中的JAvascript代码,同时,AFNetworking还内置支持JSON,plist文...

weixin_39828102的博客 698

OB4.X集群状态running但是oceanbase-ce is not running

自 V3.2.0 起,若 obd 设置了加密密钥,执行 display 命令输出的集群信息中,密码相关内容为加密状态。若需输出明文密码,可在命令中添加 --epk/–encryption-passkey 指定密钥用于验证。obd 运维的数据库,启停需要使用obd进行操作,停机时候没有使用obd会导致集群状态running但是oceanbase-ce is not running。查看集群中的租户时无租户反馈,警告oceanbase-ce is not running,但是查询集群状态明明是running。

qq961573863的博客 1216

AFNetwork 作用和用法详解

AFNetworking是一个轻量级的iOS网络通信类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单。它支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)。支持ARC。 // // MJViewController.m // 03.AFN演练 // // Created by

wentao的专栏 14万+

【项目实战】Qt6 录制屏幕、录制声音生成MP4、AVI、MA3等(完整源码,可直接编译使用)

本文将详细介绍如何利用Qt6多媒体模块中的QMediaCaptureSession、QMediaRecorder、QScreenCapture、QAudioInput、QMediaFormat等功能,实现对屏幕和声音的录制,并生成常见的媒体格式文件,如MP4、AVI、MA3等。我们将探讨如何利用这些功能来实现灵活的视频和音频参数设置,以满足不同需求下的录制和生成要求。我们将重点讨论如何配置视频和音频参数,包括分辨率、帧率、编解码器选择、音频采样率、声道设置等。

yegu001的博客 4939

ArcGIS实战:用栅格数据为偏远山区规划一条最省钱的公路(附完整数据与操作步骤)

本文详细介绍了如何利用ArcGIS进行栅格数据分析,为偏远山区规划一条最省钱的公路。通过DEM高程数据处理、成本权重设定和最佳路径计算,结合真实案例展示了从数据准备到工程方案转化的完整流程,帮助工程师在复杂地形中做出经济高效的路线决策。

weixin_32136203的博客 357

iOS----轻松掌握AFN网络顶级框架

AFN 一、什么是AFN 全称是AFNetworking,是对NSURLConnection的一层封装 虽然运行效率没有ASI高,但是使用比ASI简单 在iOS开发中,使用比较广泛 AFN的github地址 https://github.com/pokeb/AFNetworking/AFNetworking 二、AFN结构 NSURLConnection AFURLConnection...

weixin_30735391的博客 193

基于ADS1299的8通道脑电采集系统硬件设计实战

生物电信号采集是医疗电子与可穿戴设备中的关键环节,微弱信号的高保真放大与数字化处理直接影响系统性能。高精度模数转换器与低噪声模拟前端设计成为工程实践的核心。ADS1299作为专用生物电测量芯片,集成多通道低噪声放大器与24位Δ-Σ ADC,广泛应用于脑电、心电等生理信号检测。本文基于ADS1299构建8通道脑电采集系统,详细阐述硬件架构、电源与参考设计、输入保护、PCB布局布线、固件SPI配置及数据读取,并结合实测数据分享噪声抑制与调试经验,为EEG采集设备开发提供完整参考。

weixin_29169505的博客 225
上一篇: RAC中经常使用的运算符 - 感谢听榆大叔的整理
下一篇: GCD 之线程死锁
kintan哥
博客等级 码龄12年 11粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值