Objective c 在AFHTTPRequestOperationManager和AFHTTPSessionManager之间选择时的建议

Objective c 在AFHTTPRequestOperationManager和AFHTTPSessionManager之间选择时的建议,objective-c,afnetworking-2,afhttpclient,afhttprequestoperation,Objective C,Afnetworking 2,Afhttpclient,Afhttprequestoperation,自从AFNetworking 2.0以来,AFHTTPClient已经消失,取而代之的是两位经理:AFHTTPRequestOperationManager和AFHTTPSessionManager。《迁移指南》中几乎没有提到每种情况都适合使用的情况。据我所知,与RESTfulJSON API的基本交互可以分别使用它们来实现 最适合使用RequestOperationManager或SessionManager的情况是什么?它们基本上是等效的,除了AFHTTPSessionManager在内部使

自从
AFNetworking 2.0
以来,
AFHTTPClient
已经消失,取而代之的是两位经理:
AFHTTPRequestOperationManager
AFHTTPSessionManager
。《迁移指南》中几乎没有提到每种情况都适合使用的情况。据我所知,与RESTful
JSON API的基本交互可以分别使用它们来实现


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

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

:

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


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

另请参阅子类化注释以了解更多信息

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


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

您能详细说明一下这一部分吗“请注意,两者之间存在一些差异。AFHTTPSessionManager返回NSURLSessionDataTask对象,这些对象不是NSOperations。这意味着要让它们排队并在请求之间建立依赖关系会更加困难。”?