2016-11-11 66 views
1

我想知道它們之間的基本區別是什麼,以及Objective-c和swift中管理iOS中web服務的最佳常用方法是什麼。NSURLConnection,NSURLSession和AFNetworking有什麼區別?

如前所述,我在Objective-c中工作,當我們需要使用web服務時,我們使用AFNetworking和NSURLConnections,隨着NSURLSession的發佈,我搬到了用swift工作。 那麼哪一個適合,所以我可以管理所有的webservices網絡連接條件等?

回答

2

謝謝你問這個問題。間NSURLConnection

差異,NSURLSession

整個模型是不同的。 NSURLSession的設計圍繞這樣一種假設,即您將有很多需要類似配置的請求(標​​準套件等),並且如果您這樣做會使生活變得更加輕鬆。

NSURLSession還支持後臺下載,這可以在您的應用程序未運行時(或者它在iOS的後臺)繼續下載資源。對於某些用例來說,這也是一個重大勝利。

NSURLSession還提供了相關請求的分組,可以輕鬆取消與特定工作單元關聯的所有請求,例如在用戶關閉窗口或選項卡時取消與加載網頁相關的所有負載。

NSURLSession還提供更好的接口用於使用塊請求數據,因爲它允許您將它們與委託方法結合進行自定義身份驗證處理,重定向處理等,而如果您突然意識到需要執行此操作,則使用NSURLConnection那些事情,你必須重構你的代碼,不使用基於塊的回調。

NSURLConnection,NSURLSession和AFNetworking之間的區別?

NSURLConnectionNSURLRequest是用於管理連接的Cocoa類。在iOS 7中,Apple添加了NSURLSession。

但我想你會發現AFNetworking是一個進一步簡化網絡請求(特別是複雜的HTTP請求)的框架。如果您不想出於任何原因使用第三方框架,則可以直接使用NSURLConnection和/或NSURLSession。它只需要多一點編碼。

。有關NSURLConnectionNSURLSession看到URL Loading System Programming Guide.

找到reference1reference2

感謝robdgatwood這樣一個驚人的答案...

+0

感謝提供參考..... –