最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年02月15日 09:03:12   投稿:lqh  
這篇文章主要介紹了IOS 使用Block二次封裝AFNetworking 3.0詳解的相關(guān)資料,需要的朋友可以參考下

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

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

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

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

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

1、新建一個(gè)工具類,繼承自NSObject;

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

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

3、使用類方法創(chuàng)建兩個(gè)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”,并實(shí)現(xiàn).h中定義的兩個(gè)函數(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ù)請求的進(jìn)度
  } 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ù)請求的進(jìn)度
  } 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);
  }];

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

鸡泽县| 嘉鱼县| 乾安县| 寻乌县| 息烽县| 瑞昌市| 长宁县| 贵溪市| 南通市| 牡丹江市| 凯里市| 彩票| 邯郸市| 牙克石市| 同江市| 通河县| 商城县| 江永县| 巨野县| 诸暨市| 青海省| 垦利县| 洛阳市| 太谷县| 白河县| 抚顺县| 拉孜县| 皮山县| 临泉县| 昌平区| 长垣县| 出国| 双牌县| 徐水县| 淮阳县| 鄂温| 望城县| 沙雅县| 正蓝旗| 西林县| 武功县|