IOS如何使用Block二次封裝AFNetworking3.0

這篇文章主要為大家展示了“IOS如何使用Block二次封裝AFNetworking3.0”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“IOS如何使用Block二次封裝AFNetworking3.0”這篇文章吧。

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)無極,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

IOS 使用Block二次封裝AFNetworking 3.0詳解

現(xiàn)在我們網(wǎng)絡(luò)請求大都用第三方工具—–AFNetworking;

其中,AFNetworking 3.0 是對 NSURLSession 進行的封裝,簡化了很多步驟,但是在現(xiàn)實開發(fā)中,我們可以將AFNetworking再次封裝到一個類中,這樣通過傳去URL和Parameters 就可以進行網(wǎng)絡(luò)請求。

具體實現(xiàn)步驟:

前期準(zhǔn)備:導(dǎo)入AFNetworking第三方框架

1、新建一個工具類,繼承自NSObject;

2、在.h 中宏定義兩個block,用來回調(diào)請求結(jié)果;

//宏定義成功block 回調(diào)成功后得到的信息
typedef void (^HttpSuccess)(id data);
//宏定義失敗block 回調(diào)失敗信息
typedef void (^HttpFailure)(NSError *error);

3、使用類方法創(chuàng)建兩個GET 和 POST請求函數(shù);

//get請求
+(void)getWithUrlString:(NSString *)urlString success:(HttpSuccess)success failure:(HttpFailure)failure;


//post請求
+(void)postWithUrlString:(NSString *)urlString parameters:(NSDictionary *)parameters success:(HttpSuccess)success failure:(HttpFailure)failure;

4、在.m 中#import “AFNetworking/AFNetworking.h”,并實現(xiàn).h中定義的兩個函數(shù);

//GET請求
+(void)getWithUrlString:(NSString *)urlString success:(HttpSuccess)success failure:(HttpFailure)failure{
  //創(chuàng)建請求管理者
  AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

  manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  //內(nèi)容類型
  manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];
  //get請求
  [manager GET:urlString parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
    //數(shù)據(jù)請求的進度
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    success(responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    failure(error);
  }];

}

//POST請求
+(void)postWithUrlString:(NSString *)urlString parameters:(NSDictionary *)parameters success:(HttpSuccess)success failure:(HttpFailure)failure{
  //創(chuàng)建請求管理者
  AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  //
  manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  //內(nèi)容類型
  manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];
  //post請求
  [manager POST:urlString parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
    //數(shù)據(jù)請求的進度
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    success(responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    failure(error);
  }];
}

使用步驟:

1、導(dǎo)入自定義的工具類名;

2、調(diào)用自定義的方法;

  [XMAFNRequestTools getWithUrlString:url success:^(id data) {
    self.array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments | NSJSONReadingMutableLeaves error:nil];
    NSLog(@"%@",self.array);
  } failure:^(NSError *error) {
    NSLog(@"%@",error);
  }];

以上是“IOS如何使用Block二次封裝AFNetworking3.0”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章標(biāo)題:IOS如何使用Block二次封裝AFNetworking3.0
本文網(wǎng)址:http://muchs.cn/article18/gpjdgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站App設(shè)計、網(wǎng)站設(shè)計公司、網(wǎng)站策劃網(wǎng)站導(dǎo)航、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司