成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AFNetworking 3.0遷移中不可忽略的要點

移動開發 iOS
AFNetworking 3.0正式支持的iOS 7, Mac OS X的10.9, watchOS 2 , tvOS 9 和Xcode 7。如果你想使用AFNetworking在針對較舊版本的SDK項目,請檢查README的兼容性信息。

 

AFNetworking是一款在OS X和iOS下都令人喜愛的網絡庫。為了迎合iOS新版本的升級, AFNetworking在3.0版本中刪除了基于 NSURLConnection API的所有支持。如果你的項目以前使用過這些API,建議您立即升級到基于 NSURLSession 的API的AFNetworking的版本。本指南將引導您完成這個過程。

本指南是為了引導使用AFNetworking 2.x升級到***的版本API,以達到過渡的目的,并且解釋了新增和更改的設計結構。

新設備要求: iOS 7, Mac OS X 10.9, watchOS 2, tvOS 9, & Xcode 7

AFNetworking 3.0正式支持的iOS 7, Mac OS X的10.9, watchOS 2 , tvOS 9 和Xcode 7。如果你想使用AFNetworking在針對較舊版本的SDK項目,請檢查README的兼容性信息。

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。

棄用的類

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

AFURLConnectionOperation

AFHTTPRequestOperation

AFHTTPRequestOperationManager

修改的類

下面的類包含基于NSURLConnection的API的內部實現。他們已經被使用NSURLSession重構:

 

  1.  UIImageView+AFNetworking 
  2.  
  3. UIWebView+AFNetworking 
  4.  
  5. UIButton+AFNetworking 

 

遷移

AFHTTPRequestOperationManager 核心代碼

如果你以前使用 AFHTTPRequestOperationManager , 你將需要遷移去使用 AFHTTPSessionManager。 以下的類在兩者過渡間并沒有變化:

 

  1.  securityPolicy 
  2.  
  3. requestSerializer 
  4.  
  5. responseSerializer 

 

接下來舉一個關于AFHTTPSessionManager的簡單例子。注意HTTP網絡請求返回的不再是AFHTTPRequestOperation, 修改成為了NSURLSessionTask,并且成功和失敗的Block塊中的參數也變更為了NSURLSessionTask,而不再是AFHTTPRequestOperation。

AFNetworking 2.x

  1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
  2. [manager GET:@"請求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { 
  3. NSLog(@"成功"); 
  4. } failure:^(AFHTTPRequestOperation *operation, NSError*error) { 
  5. NSLog(@"失敗"); 
  6. }]; 

AFNetworking 3.0

  1. AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; 
  2. [session GET:@"請求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { 
  3. NSLog(@"成功"); 
  4. } failure:^(NSURLSessionDataTask *task, NSError *error) { 
  5. NSLog(@"失敗"); 
  6. }]; 

AFHTTPRequestOperation 核心代碼

與NSURLConnection對象不同,每個共享應用范圍的設置如會話管理、緩存策略、Cookie存儲以及URL協議等,這些NSURLSession對象都可以單獨進行配置。使用特定的配置來初始化會話,它可以發送任務來獲取數據,并上傳或下載文件。

在AFNetworking 2.0中,使用AFHTTPRequestOperation,有可能創建一個沒有額外開銷的獨立的網絡請求來獲取數據。NSURLSession則需要更多的開銷,為了獲得所要請求的數據。

接下來,將要通過AFHTTPSessionManager創建一個單例,并創建一個任務和啟動它。

 

  1. AFNetworking 2.x 
  2. NSURL *URL = [NSURL URLWithString:@""]; 
  3. NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 
  4. AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
  5. op.responseSerializer = [AFJSONResponseSerializer serializer]; 
  6. [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
  7. NSLog(@"JSON: %@", responseObject); 
  8. } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
  9. NSLog(@"Error: %@", error); 
  10. }]; 
  11. [[NSOperationQueue mainQueue] addOperation:op]; 

 

AFNetworking 3.0

  1. NSURL *URL = [NSURL URLWithString:@""]; 
  2. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
  3. [manager GET:URL.absoluteString parameters:nil success:^(NSURLSessionTask *task, id responseObject) { 
  4. NSLog(@"JSON: %@", responseObject); 
  5. } failure:^(NSURLSessionTask *operation, NSError *error) { 
  6. NSLog(@"Error: %@", error); 
  7. }]; 

UIKit的遷移

圖片下載已經被重構,以遵循AlamofireImage架構與新的AFImageDownloader類。這個類的圖片下載職責的代理人是UIButton與UIImageView的類目,并且提供了一些方法,在必要時可以自定義。類別中,下載遠程圖片的實際方法沒有改變。

UIWebView的類目被重構為使用AFHTTPSessionManager作為其網絡請求。

UIAlertView的類目被廢棄

從AFNetworking 3.0后UIAlertView的類目因過時而被廢棄。并沒有提供UIAlertController類目的計劃,因為這是應用程序應處理的邏輯,而不是這個庫。

責任編輯:chenqingxiang 來源: 暮落晨曦簡書
相關推薦

2013-12-10 15:34:58

2019-01-26 08:40:26

2019-05-27 23:21:47

大數據云遷移企業

2021-03-03 14:04:53

人工智能知識圖譜

2011-10-14 13:50:54

數據庫遷移

2021-05-11 13:37:07

云遷移云平臺云計算

2018-10-12 11:21:10

2015-09-14 14:23:50

數據中心標識管理

2014-07-18 10:00:41

AFNetworkin

2016-09-26 10:36:17

2016-09-29 15:15:45

2011-03-22 09:38:31

Windows 7遷移

2015-05-18 09:44:34

2022-04-11 14:37:40

前端程序員HTM

2010-01-18 17:35:19

2015-03-03 09:35:46

移動開發APP趨勢

2019-05-17 10:25:45

云端云計算企業

2016-07-06 11:56:52

思科漢堡光纖骨干網

2020-12-09 13:20:22

數據科學技能數據科學家

2015-03-03 14:58:56

移動開發APP趨勢
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩aⅴ在线观看 | 欧美日韩免费一区二区三区 | 色综合99 | 黄色片视频 | 国产高清在线精品 | 国产激情视频在线观看 | 久久九九免费 | 成人在线小视频 | 不卡视频一区二区三区 | 国产精品久久久久久久久久免费看 | 亚洲精品9999 | av网站免费看 | 中文字幕亚洲视频 | 亚洲精品www久久久 www.蜜桃av | 天天色天天射天天干 | 欧美性生活网 | 日韩视频在线观看 | 久久人人爽人人爽 | 日韩av在线一区二区 | 亚洲一区二区精品 | xxxcom在线观看| 国产91在线播放 | 亚洲成人黄色 | 男人的天堂中文字幕 | 精品一区二区免费视频 | www.亚洲一区 | 欧美xxxⅹ性欧美大片 | 视频一区二区在线 | 亚洲成av人片在线观看无码 | 久久99精品国产99久久6男男 | 欧美精品一区在线发布 | 九色 在线 | 国产午夜av片| 国产视频久久 | 久久亚洲天堂 | 成人高清视频在线观看 | 免费成人高清在线视频 | 国产成人一区在线 | 精品美女在线观看 | 精品国产伦一区二区三区观看说明 | 国产日韩欧美 |