你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> 基於AFNetworking3.0的網絡封裝

基於AFNetworking3.0的網絡封裝

編輯:IOS技巧綜合
[摘要]本文是對基於AFNetworking3.0的網絡封裝的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

1.創建名為HTTPMethod(自己隨便起名字)的頭文件

2.導入AFNetworking頭文件(在github上下載最新版):

    #import "AFNetworking.h"

3.在.h文件裡聲明類方法:

    //參數解釋:(1)urlString是你想請求的網址 (2)bodyDic是POST請求時的參數 (3)dataBlock是數據請求成功後用來回調數據的block

    + (void)getDataByString:(NSString *)urlString BodyDic:(NSDictionary *)bodyDic WithDataBlock:(void(^)(id data))dataBlock;

4.方法的實現:

+(void)getDataByString:(NSString *)urlString BodyDic:(NSDictionary *)bodyDic WithDataBlock:(void (^)(id))dataBlock

{

//(1).字符串的轉碼

urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:urlString]];

//(2).創建管理者對象(session)

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

//(3).設置允許請求的類別

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/json",@"application/json",@"text/javascript",@"text/html", @"application/javascript", @"text/js", nil];

//(4).開始請求

if (!bodyDic) {

//如果bodyDic為空就執行get請求

[manager GET:urlString parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {

dataBlock(responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

NSLog(@"請求失敗");

}];

}

else

{

[manager POST:urlString parameters:bodyDic success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {

dataBlock(responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

NSLog(@"請求失敗");

}];

}

}

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved