AFNetworking 3.0的基本使用

git下載地址:https://github.com/AFNetworking/AFNetworking

get請求

#import <AFNetworking.h>
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];//這句話最好加上
[manager GET:@"請求鏈接" parameters:@"參數(shù)組" progress:^(NSProgress * _Nonnull downloadProgress) {
        //請求進度

}success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        //請求成功
        NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];//把NSData轉(zhuǎn)換成字典類型
        
}failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull   error) {
       //請求失敗
}];

post請求

#import <AFNetworking.h>
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];

[manager POST:@"請求鏈接" parameters:@"參數(shù)組" progress:^(NSProgress * _Nonnull uploadProgress) {
        //請求進度
} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        //請求成功
        NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
        
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        //請求失敗   
}];

文件下載

#import <AFNetworking.h>
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    
//下載任務(wù)
NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:@"請求鏈接" progress:^(NSProgress * _Nonnull downloadProgress) {
        
        //加載進度
        
} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
        //下載存放地址,要返回存放地址(存放地址前面加file://)
        
        return nil;
        
} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
        
       // 下載完成之后,解壓縮文件
   
}];
[task resume];

文件上傳

#import <AFNetworking.h>
 //創(chuàng)建管理者對象
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:@"請求鏈接" parameters:@"參數(shù)組" constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
        //上傳文件參數(shù),dataArray是一個NSData數(shù)組

        if (dataArray.count > 0) {
            for (NSData *imageData in dataArray) {
                [formData appendPartWithFileData:imageData name:dataKey fileName:dataName mimeType:@"image/png"];
            }  
        }
       
} progress:^(NSProgress * _Nonnull uploadProgress) {
       //上傳進度

} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
        //請求成功(返回的是NSData類型的數(shù)據(jù))
        NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
        //請求失敗
        
}];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,825評論 25 709
  • 從小我們就向往英雄,希望像漫畫中的人物,成為那個被選中的,拯救地球的孩子,但不是所有人都有成為英雄的機會,...
    黑白color閱讀 278評論 0 0
  • 今早做完實驗,發(fā)現(xiàn)結(jié)果與理論不符,看數(shù)據(jù)很明確是哪個環(huán)節(jié)出了問題,雖然不是我的原因,但我有一種負罪感,或許這...
    舒米勒_閱讀 612評論 2 2
  • TED信息 Roger Ebert: Remaking my voice TED2011 · 19:29 · F...
    林中有男閱讀 595評論 0 1

友情鏈接更多精彩內(nèi)容