IOS 開發 網路詳解(五)--- AF3.0使用

來源:互聯網
上載者:User

標籤:dict   json   ons   manager   erro   建議   null   imageview   完全   

1.NSUrlConnection的API被棄用

AFNetworking 1.0建立在NSURLConnection的基礎API之上 ,AFNetworking 2.0開始使用NSURLConnection的基礎API ,以及較新基於NSURLSession的API的選項。 AFNetworking 3.0現已完全基於NSURLSession的API,
這降低了維護的負擔,同時支援蘋果增強關於NSURLSession提供的任何額外功能。由於Xcode 7中,NSURLConnection的API已經正式被蘋果棄用。雖然該API將繼續運行,但將沒有新功能將被添加,並且蘋果已經通知所有基於網路的功能,
以充分使NSURLSession向前發展。AFNetworking 2.X將繼續獲得關鍵的隱患和安全補丁,但沒有新的功能將被添加。Alamofire(Swift下的網路請求)軟體基金會建議,所有的項目遷移到基於NSURLSession的API。

 

2.棄用的類

下面的類已從AFNetworking 3.0中廢棄:AFURLConnectionOperationAFHTTPRequestOperationAFHTTPRequestOperationManager

 

3.修改的類

下面的類包含基於NSURLConnection的API的內部實現。他們已經被使用NSURLSession重構:UIImageView+AFNetworkingUIWebView+AFNetworkingUIButton+AFNetworking

 

4.代碼的遷移

如果你以前使用 AFHTTPRequestOperationManager , 你將需要遷移去使用 AFHTTPSessionManager。 以下的類在兩者過渡間並沒有變化:securityPolicyrequestSerializerresponseSerializer接下來舉一個關於AFHTTPSessionManager的簡單例子。注意HTTP網路請求返回的不再是AFHTTPRequestOperation, 修改成為了NSURLSessionTask,並且成功和失敗的Block塊中的參數也變更為了NSURLSessionTask,而不再是AFHTTPRequestOperation。AFNetworking 2.xAFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];[manager GET:@"請求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSLog(@"成功");} failure:^(AFHTTPRequestOperation *operation, NSError*error) {        NSLog(@"失敗");}];AFNetworking 3.0AFHTTPSessionManager *session = [AFHTTPSessionManager manager];[session GET:@"請求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {        NSLog(@"成功");} failure:^(NSURLSessionDataTask *task, NSError *error) {        NSLog(@"失敗");        }];

 

5.Get請求

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];[manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {    NSLog(@"JSON: %@", responseObject);} failure:^(NSURLSessionTask *operation, NSError *error) {    NSLog(@"Error: %@", error);}];

 

6.Post請求

AFHTTPSessionManager *session = [AFHTTPSessionManager manager];session.requestSerializer = [AFJSONRequestSerializer serializer];NSMutableDictionary *params = [NSMutableDictionary dictionary];params[@"start"] = @"1";params[@"end"] = @"5";    [session POST:urlStr parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {    NSLog(@"請求成功");} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {    NSLog(@"請求成功");}];

 

IOS 開發 網路詳解(五)--- AF3.0使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.