问题 共享会话与默认配置的会话


两者有什么不同 session 以这两种不同方式创建的对象:

NSURLSession *session = [NSURLSession sharedSession];

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];

4909
2017-08-14 02:34


起源



答案:


当你使用它们时,它们在功能上非常相似。但是使用 sharedSession 没有给你自定义的能力 NSURLSessionConfiguration (例如调整缓存,自定义标题等)也不使用基于委托的再现 NSURLSession。但如果您不需要这些功能,请随意使用 sharedSession 因为它更容易。


10
2017-08-19 20:18





NSURLSessionConfiguration 

具有基本会话属性的会话,这些属性在会话范围内控制各种策略。这些属性在创建时在会话上设置,以后不能更改。如果需要更改这些策略属性,请使用修改的会话配置创建新会话。

sharedSession

返回共享的单例会话对象。

请首先查看Apple文档,因为这些是非常有用的信息来源。


1
2017-08-14 02:42



我已经阅读了文档,问题中的两个代码片段看起来和我一样。的文件 sharedSession 简单地说“共享会话使用当前设置的全局NSURLCache,NSHTTPCookieStorage和NSURLCredentialStorage对象,并且基于 默认配置“。 - Ethan


答案:


当你使用它们时,它们在功能上非常相似。但是使用 sharedSession 没有给你自定义的能力 NSURLSessionConfiguration (例如调整缓存,自定义标题等)也不使用基于委托的再现 NSURLSession。但如果您不需要这些功能,请随意使用 sharedSession 因为它更容易。


10
2017-08-19 20:18





NSURLSessionConfiguration 

具有基本会话属性的会话,这些属性在会话范围内控制各种策略。这些属性在创建时在会话上设置,以后不能更改。如果需要更改这些策略属性,请使用修改的会话配置创建新会话。

sharedSession

返回共享的单例会话对象。

请首先查看Apple文档,因为这些是非常有用的信息来源。


1
2017-08-14 02:42



我已经阅读了文档,问题中的两个代码片段看起来和我一样。的文件 sharedSession 简单地说“共享会话使用当前设置的全局NSURLCache,NSHTTPCookieStorage和NSURLCredentialStorage对象,并且基于 默认配置“。 - Ethan