我们应该考虑从AFNetworking过渡到NSUrlSession吗?

时间:2014-12-02 13:57:47

标签: ios objective-c afnetworking nsurlsession

我一直使用AFNetworking一段时间,但最近听到的意见NSUrlSession提供的功能与AFNetworking相同,因此无需使用AFNetworking。大多数情况下,我对这些功能感兴趣,比如操作,客户端和延迟图像下载,但是,不确定我需要写多少额外的代码。是否有人从AFNetworking过渡到NSUrlSession

3 个答案:

答案 0 :(得分:16)

NSURLSession不能重现AFNetworking的所有丰富性(特别是复杂的HTTP请求的构建和响应的简化解析)。因此,如果您正在利用AFNetworking的这些功能,那么您可能希望继续使用AFNetworking。

对于目前正在使用NSURLConnection的程序员,NSURLSession提供了一些不错的增强功能。 NSURLSession的基于块的方法比NSURLConnection提供的方法更丰富。此外,NSURLSession提供后台会话功能,即使应用未运行,也可以继续请求。

对于使用AFHTTPRequestOperationManager(基于NSURLConnection)的AFNetworking开发人员,AFNetworking现在提供AFHTTPSessionManager,这是一个在内部利用NSURLSession的非常相似的界面(但奇怪的是,而不是NSOperationQueue - 基于)。因此,如果您想要使用AFNetworking享受一些NSURLSession功能,请考虑使用AFHTTPSessionManager代替AFHTTPRequestOperationManager

答案 1 :(得分:3)

AFNetworking是在NSUrlSession之上编写的,因此没有理由放弃它,除非您想要处理AFNetworking已经为您处理的所有实现细节,以及更多关于它已被成千上万的用户测试的点因此,每天都是一个非常稳定和成熟的图书馆。

答案 2 :(得分:0)

我不使用它,因为我知道本机NSUrlConnection和NSUrlSession的内部工作原理,但对于大多数人来说AFNetworking 2.X更容易使用。我不是AFNetworking 1.X的粉丝,这就是为什么我在2.X可用之前就已经深入了解它。