15

由于已经在两位经理的青睐下消失了AFNetworking 2.0:和。迁移指南几乎没有说明哪种情况更适合使用它们。据我所知,与 RESTful 的基本交互可以分别使用它们中的每一个来实现。AFHTTPClientAFHTTPRequestOperationManagerAFHTTPSessionManagerJSON API

最适合使用RequestOperationManageror的情况是SessionManager什么?

4

2 回答 2

18

它们基本上是等效的,除了在AFHTTPSessionManager内部使用 iOS 7/OS X 10.9 NSURLSession,所以它不能在 iOS 6AFHTTPRequestOperationManager中使用。直到NSURLRequest被弃用。

在这里查看更多信息

回顾一下:为了支持新的 NSURLSession API 以及旧的但未弃用且仍然有用的 NSURLConnection,AFNetworking 2.0 的核心组件被拆分为请求操作和会话任务。AFHTTPRequestOperationManager 和 AFHTTPSessionManager 提供了类似的功能,具有几乎可互换的接口,如果需要(例如在 iOS 6 和 7 之间移植),可以很容易地换出。

请注意,两者之间存在一些差异。AFHTTPSessionManager 返回 NSURLSessionDataTask 对象,它们不是 NSOperations。这意味着更难将它们排入队列并在请求之间建立依赖关系。

于 2013-10-14T13:07:48.203 回答
1

另请参阅AFHTTPRequestOperationManager的子类化注释

鼓励针对广泛处理 Web 服务的 iOS 7 或 Mac OS X 10.9 或更高版本的开发人员将 AFHTTPSessionManager 子类化,提供一个返回共享单例对象的类方法,在该对象上可以跨应用程序共享身份验证和其他配置。

对于面向 iOS 6 或 Mac OS X 10.8 或更早版本的开发人员,可以使用 AFHTTPRequestOperationManager 来达到类似的效果。

于 2013-10-31T19:06:55.727 回答