91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-07-09 09:32:11 來源:億速云 閱讀:151 作者:小新 欄目:移動開發

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

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

現在我們網絡請求大都用第三方工具—–AFNetworking;

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

具體實現步驟:

前期準備:導入AFNetworking第三方框架

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

2、在.h 中宏定義兩個block,用來回調請求結果;

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

3、使用類方法創建兩個GET 和 POST請求函數;

//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”,并實現.h中定義的兩個函數;

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

  manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  //內容類型
  manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];
  //get請求
  [manager GET:urlString parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
    //數據請求的進度
  } 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{
  //創建請求管理者
  AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  //
  manager.responseSerializer = [AFHTTPResponseSerializer serializer];
  //內容類型
  manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html", nil];
  //post請求
  [manager POST:urlString parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
    //數據請求的進度
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    success(responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    failure(error);
  }];
}

使用步驟:

1、導入自定義的工具類名;

2、調用自定義的方法;

  [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”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潍坊市| 英吉沙县| 惠来县| 阿拉善左旗| 鄂州市| 青州市| 望江县| 龙游县| 秀山| 凤凰县| 万荣县| 福清市| 遵义县| 怀宁县| 玛沁县| 建德市| 湖南省| 浑源县| 武川县| 饶河县| 莱州市| 海林市| 辉南县| 阳泉市| 永善县| 化州市| 句容市| 嘉祥县| 桐乡市| 临潭县| 临澧县| 通榆县| 临海市| 比如县| 荥阳市| 山西省| 弥渡县| 赤峰市| 郸城县| 城市| 余姚市|