IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查。下面我就开始进入正题了。
目前使用人数最多的第三方网络库,没有之一。从开始的NSURLConnection到现在的NSURLSession,它都一直保持着与苹果的步调一致,而由它也衍生出大量的相关第三方网络功能库,不仅仅因为他的可靠,好用,一直保持着维护更新,也是为什么它这么受到广大程序员的青睐。
上传data
- //
- // ViewController.m
- // CX- AFNetworking3.0简介
- //
- // Created by ma c on 16/3/22.
- // Copyright © 2016年 xubaoaichiyu. All rights reserved.
- //
- #import "ViewController.h"
- #import "AFNetworking.h"
- @interface ViewController ()
- @end
- @implementation ViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- [self upLoadData];
- }
- //上传data
- -(void)upLoadData{
- UIImage * image = [UIImage imageNamed:@"renminbi.jpg"];
- NSData * data = UIImageJPEGRepresentation(image, );
- AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
- /*
- POST 上传地址
- parameters 文本参数
- constructingBodyWithBlock 上传文件的block,有可能多次调用
- progress 上传进度
- success 上传成功
- failure 上传失败
- */
- [manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
- /*
- formData 上传的数据
- FileData 上传文件的data
- name 上传文件的key
- fileName 服务器上的名字
- mimeType 上传资源的类型
- */
- [formData appendPartWithFileData:data name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg"];
- } progress:^(NSProgress * _Nonnull uploadProgress) {
- NSLog(@"%@",uploadProgress);
- } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
- NSLog(@"成功->%@",responseObject);
- } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
- NSLog(@"失败->%@",error);
- }];
- }
- @end
上传文件
- //上传文件
- AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
- /*
- POST 上传地址
- parameters 文本参数
- constructingBodyWithBlock 上传文件的block,有可能多次调用
- progress 上传进度
- success 上传成功
- failure 上传失败
- */
- [manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
- /*
- formData 上传的数据
- FileData 上传文件的data
- name 上传文件的key
- fileName 服务器上的名字
- mimeType 上传资源的类型
- */
- NSURL * url = [[NSBundle mainBundle] URLForResource:@"renminbi.jpg" withExtension:nil];
- [formData appendPartWithFileURL:url name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg" error:nil];
- } progress:^(NSProgress * _Nonnull uploadProgress) {
- NSLog(@"%@",uploadProgress);
- } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
- NSLog(@"成功->%@",responseObject);
- } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
- NSLog(@"失败->%@",error);
- }];
Get
- AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
- [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
- } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
- } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
- }];
Post
- AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
- [manager POST:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
- } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
- } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
- }];
GetXML
- AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
- manager.requestSerializer = [AFHTTPRequestSerializer serializer];
- manager.responseSerializer = [AFXMLParserResponseSerializer serializer];
- [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
- } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
- } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
- }];
IOS 网络浅析-(十一 三方 AFNetworking3.0简介)的更多相关文章
- IOS 网络浅析-(八 NSURLSession简介)
就在不长也不短的时间前,苹果正式命令咱们要向NSURLSession看,因此我们不得不认认真真的听从老大的教导,努力认知NSURLSession.其实呢,三方早已为我们解决了问题,但是呢,我们还是有必 ...
- IOS 网络浅析-(十三 SDWebImage 实用技巧)
IOS 网络浅析-(十三 SDWebImage 实用技巧) 首先让我描述一下为了什么而产生的实用技巧.(在TableView.CollectionView中)当用户所处环境WiFi网速不够快(不能立即 ...
- IOS 网络浅析-(九 NSURLSession代理简介)
从最开始什么都不懂的小白,到到现在略知一二的小孩.我觉得不仅仅是我,大家应该都会注意到代理几乎贯穿着IOS,那么问题来了,我接下来要说什么呢,那就是.标题的内容啦.上篇网络系列的文章我介绍了NSURL ...
- IOS 网络浅析-(六 网络图片获取之三方SDWebImage)
网络图片获取是大多数app所能用到的,由于实际app开发中原生api很少用到,在这里就先不介绍了,以后有时间会给大家介绍.这篇文章会给大家介绍一个三方-SDWebImage.SDWebImage 是一 ...
- IOS 网络浅析-(十二 UIWebView简介)
在这篇随笔里,我们只要知道UIWebView是什么就可以了. UIWebView 是苹果提供的用来展示网页的UI控件,它也是最占内存的控件. iOS8.0之后出现了webkit框架,WKWebView ...
- IOS 网络浅析-(十 NSURLSession下载简介)
之前本来打算在写两个篇幅,但是在这片开写的时候觉得还是写一个比较好,有利于理解.NSURLSession下载是通过NSURLSession下载代理实现的,上一片也介绍了代理,之所以没有介绍下载是因为, ...
- IOS 网络浅析-(七 JSON解析之三方JSONKit)
在这个网络横行的时代......... 有没有小说的感觉,哈哈
- IOS 网络浅析-(三 NSURLConnection代理)
对于现在的iOS开发,用法简单,最古老最经典最直接的NSURLConnection的作用不是很大,但是作为一名ios开发者,我们应该拥有一颗热爱学习的心,下面通过代码的实现简单介绍一下NSURLCon ...
- IOS 网络浅析 (二 网络异步请求)
学习网络,无论是C/S还是B/S首要的当然是向服务器发送请求,并得到响应,么有请求没有响应,那就不叫做网络了. 这边文章向大家介绍境界一下网路异步请求. *大家不要觉得我写的知识点太零散,我只是想给大 ...
随机推荐
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
- HBase笔记:对HBase原理的简单理解
早些时候学习hadoop的技术,我一直对里面两项技术倍感困惑,一个是zookeeper,一个就是Hbase了.现在有机会专职做大数据相关的项目,终于看到了HBase实战的项目,也因此有机会搞懂Hbas ...
- YY一下十年后的自己
ps:其实这篇文章的评论比文章本身更有意思,欢迎关注. 每到年底总是我最焦虑的时候,年龄越大情况越明显. 可能越长大越是对 时光的流逝 更有感触,有感触之后就会胡思乱想.所以随手开始写下这篇文章. 人 ...
- Entity Framework 6 Recipes 2nd Edition(10-5)译 -> 在存储模型中使用自定义函数
10-5. 在存储模型中使用自定义函数 问题 想在模型中使用自定义函数,而不是存储过程. 解决方案 假设我们数据库里有成员(members)和他们已经发送的信息(messages) 关系数据表,如Fi ...
- linux下如何添加一个用户并且让用户获得root权限
1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing pass ...
- 前端进阶试题(css部分)
一.css 40分 1. 什么是盒模型? 答: 2. Doctype的几种类型? 答:①.过渡的:②.严格的:③.框架的 更多详细介绍参考:资料 3. 如何布局左不动右边自适应的两列布局? 答:两种简 ...
- 计算照片的面积(WPF篇)
昨天,老周突发其想地给大伙伴们说了一下UWP应用中计算照片面积的玩法,而且老周也表示会提供WPF版本的示例.所以,今天就给大伙们补上吧. WPF是集成在.net框架中,属于.net的一部分,千万不要跟 ...
- PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用
如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...
- Compile FreeCAD on Windows
Compile FreeCAD on Windows eryar@163.com 1.Introduction FreeCAD是一个参数化的三维造型软件,主要用于任意大小的实际模型的设计.参数化的建模 ...
- angular2系列教程(五)Structural directives、再谈组件生命周期
今天,我们要讲的是structural directives和组件生命周期这两个知识点.structural directives顾名思义就是改变dom结构的指令.著名的内建结构指令有 ngIf, n ...