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

AFNetworking 3.0遷移中不可忽略的要點(diǎn)

移動(dòng)開(kāi)發(fā) iOS
AFNetworking 3.0正式支持的iOS 7, Mac OS X的10.9, watchOS 2 , tvOS 9 和Xcode 7。如果你想使用AFNetworking在針對(duì)較舊版本的SDK項(xiàng)目,請(qǐng)檢查README的兼容性信息。

 

AFNetworking是一款在OS X和iOS下都令人喜愛(ài)的網(wǎng)絡(luò)庫(kù)。為了迎合iOS新版本的升級(jí), AFNetworking在3.0版本中刪除了基于 NSURLConnection API的所有支持。如果你的項(xiàng)目以前使用過(guò)這些API,建議您立即升級(jí)到基于 NSURLSession 的API的AFNetworking的版本。本指南將引導(dǎo)您完成這個(gè)過(guò)程。

本指南是為了引導(dǎo)使用AFNetworking 2.x升級(jí)到***的版本API,以達(dá)到過(guò)渡的目的,并且解釋了新增和更改的設(shè)計(jì)結(jié)構(gòu)。

新設(shè)備要求: 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在針對(duì)較舊版本的SDK項(xiàng)目,請(qǐng)檢查README的兼容性信息。

NSURLConnection的API已廢棄

AFNetworking 1.0建立在NSURLConnection的基礎(chǔ)API之上 ,AFNetworking 2.0開(kāi)始使用NSURLConnection的基礎(chǔ)API ,以及較新基于NSURLSession的API的選項(xiàng)。 AFNetworking 3.0現(xiàn)已完全基于NSURLSession的API,這降低了維護(hù)的負(fù)擔(dān),同時(shí)支持蘋果增強(qiáng)關(guān)于NSURLSession提供的任何額外功能。由于Xcode 7中,NSURLConnection的API已經(jīng)正式被蘋果棄用。雖然該API將繼續(xù)運(yùn)行,但將沒(méi)有新功能將被添加,并且蘋果已經(jīng)通知所有基于網(wǎng)絡(luò)的功能,以充分使NSURLSession向前發(fā)展。

AFNetworking 2.X將繼續(xù)獲得關(guān)鍵的隱患和安全補(bǔ)丁,但沒(méi)有新的功能將被添加。Alamofire(Swift下的網(wǎng)絡(luò)請(qǐng)求)軟件基金會(huì)建議,所有的項(xiàng)目遷移到基于NSURLSession的API。

棄用的類

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

AFURLConnectionOperation

AFHTTPRequestOperation

AFHTTPRequestOperationManager

修改的類

下面的類包含基于NSURLConnection的API的內(nèi)部實(shí)現(xiàn)。他們已經(jīng)被使用NSURLSession重構(gòu):

 

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

 

遷移

AFHTTPRequestOperationManager 核心代碼

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

 

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

 

接下來(lái)舉一個(gè)關(guān)于AFHTTPSessionManager的簡(jiǎn)單例子。注意HTTP網(wǎng)絡(luò)請(qǐng)求返回的不再是AFHTTPRequestOperation, 修改成為了NSURLSessionTask,并且成功和失敗的Block塊中的參數(shù)也變更為了NSURLSessionTask,而不再是AFHTTPRequestOperation。

AFNetworking 2.x

  1. AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
  2. [manager GET:@"請(qǐng)求的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:@"請(qǐng)求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { 
  3. NSLog(@"成功"); 
  4. } failure:^(NSURLSessionDataTask *task, NSError *error) { 
  5. NSLog(@"失敗"); 
  6. }]; 

AFHTTPRequestOperation 核心代碼

與NSURLConnection對(duì)象不同,每個(gè)共享應(yīng)用范圍的設(shè)置如會(huì)話管理、緩存策略、Cookie存儲(chǔ)以及URL協(xié)議等,這些NSURLSession對(duì)象都可以單獨(dú)進(jìn)行配置。使用特定的配置來(lái)初始化會(huì)話,它可以發(fā)送任務(wù)來(lái)獲取數(shù)據(jù),并上傳或下載文件。

在AFNetworking 2.0中,使用AFHTTPRequestOperation,有可能創(chuàng)建一個(gè)沒(méi)有額外開(kāi)銷的獨(dú)立的網(wǎng)絡(luò)請(qǐng)求來(lái)獲取數(shù)據(jù)。NSURLSession則需要更多的開(kāi)銷,為了獲得所要請(qǐng)求的數(shù)據(jù)。

接下來(lái),將要通過(guò)AFHTTPSessionManager創(chuàng)建一個(gè)單例,并創(chuàng)建一個(gè)任務(wù)和啟動(dòng)它。

 

  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的遷移

圖片下載已經(jīng)被重構(gòu),以遵循AlamofireImage架構(gòu)與新的AFImageDownloader類。這個(gè)類的圖片下載職責(zé)的代理人是UIButton與UIImageView的類目,并且提供了一些方法,在必要時(shí)可以自定義。類別中,下載遠(yuǎn)程圖片的實(shí)際方法沒(méi)有改變。

UIWebView的類目被重構(gòu)為使用AFHTTPSessionManager作為其網(wǎng)絡(luò)請(qǐng)求。

UIAlertView的類目被廢棄

從AFNetworking 3.0后UIAlertView的類目因過(guò)時(shí)而被廢棄。并沒(méi)有提供UIAlertController類目的計(jì)劃,因?yàn)檫@是應(yīng)用程序應(yīng)處理的邏輯,而不是這個(gè)庫(kù)。

責(zé)任編輯:chenqingxiang 來(lái)源: 暮落晨曦簡(jiǎn)書
相關(guān)推薦

2013-12-10 15:34:58

2019-01-26 08:40:26

2019-05-27 23:21:47

大數(shù)據(jù)云遷移企業(yè)

2021-03-03 14:04:53

人工智能知識(shí)圖譜

2011-10-14 13:50:54

數(shù)據(jù)庫(kù)遷移

2021-05-11 13:37:07

云遷移云平臺(tái)云計(jì)算

2014-07-18 10:00:41

AFNetworkin

2018-10-12 11:21:10

2015-09-14 14:23:50

數(shù)據(jù)中心標(biāo)識(shí)管理

2016-09-26 10:36:17

2016-09-29 15:15:45

2015-05-18 09:44:34

2011-03-22 09:38:31

Windows 7遷移

2022-04-11 14:37:40

前端程序員HTM

2010-01-18 17:35:19

2015-03-03 09:35:46

移動(dòng)開(kāi)發(fā)APP趨勢(shì)

2019-05-17 10:25:45

云端云計(jì)算企業(yè)

2016-07-06 11:56:52

思科漢堡光纖骨干網(wǎng)

2015-03-03 14:58:56

移動(dòng)開(kāi)發(fā)APP趨勢(shì)

2020-12-09 13:20:22

數(shù)據(jù)科學(xué)技能數(shù)據(jù)科學(xué)家
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91成人精品 | 免费高清av | 日本不卡免费新一二三区 | 天天干成人网 | 国产精品久久久久久久久免费软件 | 色视频在线播放 | 国产精品日韩高清伦字幕搜索 | av日韩在线播放 | 精品一区二区三 | 中文字幕91av | 黑人巨大精品欧美一区二区免费 | av在线免费观看网站 | 天天草视频 | 一区日韩 | 久草中文网| 日韩精品在线观看视频 | 成人精品一区二区三区中文字幕 | 久久久久久国产精品免费免费男同 | 色在线免费视频 | 国产情侣啪啪 | 亚洲精品自拍 | 1区2区视频| 在线一区| 日韩av免费在线电影 | 日韩国产中文字幕 | 婷婷激情综合 | 国产精品视频在线免费观看 | 久久久一| 免费av一区二区三区 | 国产精品中文字幕在线观看 | 国产这里只有精品 | 3p视频在线观看 | 国产一级片免费视频 | 久久久久久久国产精品视频 | 国产激情视频网站 | 黄色三级免费 | 日韩高清国产一区在线 | 欧美精品久久久久久久久老牛影院 | 久久久久九九九女人毛片 | 精品国产成人 | 成人欧美一区二区三区在线观看 |