我们是不是应该考虑从 AFNetworking 过渡到 NSUrlSession? [关闭]
Posted
技术标签:
【中文标题】我们是不是应该考虑从 AFNetworking 过渡到 NSUrlSession? [关闭]【英文标题】:Should we consider transitioning from AFNetworking to NSUrlSession? [closed]我们是否应该考虑从 AFNetworking 过渡到 NSUrlSession? [关闭] 【发布时间】:2014-12-02 13:57:47 【问题描述】:我一直在使用AFNetworking
,但最近听说NSUrlSession
提供与AFNetworking
相同的功能,因此无需使用AFNetworking
。大多数情况下,我对这些功能感兴趣,例如操作、客户端和惰性图像下载器,但是,不确定我需要编写多少额外的代码。有人从AFNetworking
过渡到NSUrlSession
吗?
【问题讨论】:
【参考方案1】:NSURLSession
没有重现 AFNetworking 的所有丰富性(特别是复杂 HTTP 请求的构造和响应的简化解析)。因此,如果您正在利用 AFNetworking 的这些功能,那么您可能希望继续使用 AFNetworking。
不过,对于目前使用NSURLConnection
的程序员,NSURLSession
提供了一些不错的增强功能。 NSURLSession
的基于块的方法比 NSURLConnection
提供的更丰富。此外,NSURLSession
提供后台会话功能,即使应用程序未运行,也允许继续请求。
对于使用AFHTTPRequestOperationManager
(基于NSURLConnection
)的AFNetworking 开发人员,AFNetworking 现在提供AFHTTPSessionManager
,这是一个非常相似的接口,在内部利用NSURLSession
(但奇怪的是,不是基于NSOperationQueue
) .因此,如果您想通过 AFNetworking 享受一些 NSURLSession
功能,请考虑使用 AFHTTPSessionManager
而不是 AFHTTPRequestOperationManager
。
【讨论】:
【参考方案2】:AFNetworking 是在 NSUrlSession 之上编写的,因此没有理由放弃它,除非你想处理 AFNetworking 已经为你处理的所有实现细节,甚至更多到它已经被成千上万的用户测试过日常基础因此是一个相当稳定和成熟的库。
【讨论】:
【参考方案3】:我不使用它,因为我知道原生 NSUrlConnection 和 NSUrlSession 的内部工作原理,但是对于大多数人来说,AFNetworking 2.X 更容易使用。我不是 AFNetworking 1.X 的粉丝,这就是为什么我在 2.X 可用之前就自己深入研究它的原因。
【讨论】:
以上是关于我们是不是应该考虑从 AFNetworking 过渡到 NSUrlSession? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像