我继承了一个需要缓存多部分POST返回的响应的项目。我们正在使用AFNetworking 2,最新版本。
我看了this answer和post linked to it,但遗憾的是AFHTTPSessionManager
执行多部分POST时使用的方法,-POST:parameters:constructingBodyWithBlock:success:failure:
并未调用指南建议的方法覆盖。
指南建议启用离线模式,方法是更改用于创建cachePolicy
的请求的NSURLSessionDataTask
,并通过修改响应的标头强制缓存。第一种方法是通过覆盖方法AFHTTPSessionManager
调用来创建任务,第二种方法是覆盖与缓存相关的NSURLSessionDataDelegate
委托实现。
如上所述,这些都不是。特别是,调用获取数据任务实例的方法是-uploadTaskWithStreamedRequest:progress:completionHandler:
,它返回NSURLSessionUploadTask
。我可以在cachePolicy
值上成功覆盖和执行相同的技巧。
说到代理人,据我了解,该库设置了一个新的代理而不是self
,AFURLSessionManagerTaskDelegate
。尽管符合NSURLSessionDataDelegate
,但是这个对象没有实现缓存方法,我找不到任何方法来设置缓存回调。
关于如何进行的任何想法?任何博客点都指向?
我正在考虑覆盖AFURLSessionManagerTaskDelegate
的方法设置,以提供我自己的修饰的子类,它实现了缓存委托方法。这有意义吗?
由于