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
。《迁移指南》中几乎没有提到每种情况都适合使用的情况。据我所知,与RESTfulJSON API的基本交互可以分别使用它们来实现
最适合使用RequestOperationManager
或SessionManager
的情况是什么?它们基本上是等效的,除了AFHTTPSessionManager
在内部使用iOS 7/OS X 10.9NSURLSession
,因此不能在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。这意味着要让它们排队并在请求之间建立依赖关系会更加困难。”?