2016-11-11 62 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

感谢提供参考..... –