IOS 網路淺析-(十一 三方 AFNetworking3.0簡介),iosafnetworking3.0

來源:互聯網
上載者:User

IOS 網路淺析-(十一 三方 AFNetworking3.0簡介),iosafnetworking3.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, 1);        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) {            }];

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.