由于已经在两位经理的青睐下消失了AFNetworking 2.0
:和。迁移指南几乎没有说明哪种情况更适合使用它们。据我所知,与 RESTful 的基本交互可以分别使用它们中的每一个来实现。AFHTTPClient
AFHTTPRequestOperationManager
AFHTTPSessionManager
JSON API
最适合使用RequestOperationManager
or的情况是SessionManager
什么?
由于已经在两位经理的青睐下消失了AFNetworking 2.0
:和。迁移指南几乎没有说明哪种情况更适合使用它们。据我所知,与 RESTful 的基本交互可以分别使用它们中的每一个来实现。AFHTTPClient
AFHTTPRequestOperationManager
AFHTTPSessionManager
JSON API
最适合使用RequestOperationManager
or的情况是SessionManager
什么?
它们基本上是等效的,除了在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。这意味着更难将它们排入队列并在请求之间建立依赖关系。
另请参阅AFHTTPRequestOperationManager的子类化注释
鼓励针对广泛处理 Web 服务的 iOS 7 或 Mac OS X 10.9 或更高版本的开发人员将 AFHTTPSessionManager 子类化,提供一个返回共享单例对象的类方法,在该对象上可以跨应用程序共享身份验证和其他配置。
对于面向 iOS 6 或 Mac OS X 10.8 或更早版本的开发人员,可以使用 AFHTTPRequestOperationManager 来达到类似的效果。