Общий сеанс против сеанса с настройкой по умолчанию

Каковы различия между двумя объектами session, создаваемыми этими двумя разными способами:

NSURLSession *session = [NSURLSession sharedSession];

и

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

Ответ 1

Как вы их используете, они функционально очень похожи. Но использование sharedSession не дает вам возможности настраивать NSURLSessionConfiguration (например, настраивать кеш, настраиваемые заголовки и т.д.), А также использовать выдачу на основе делегата NSURLSession. Но если вам не нужны эти функции, не стесняйтесь использовать sharedSession.

Ответ 2

NSURLSessionConfiguration

с базовым набором свойств, которые управляют различными политиками в течение всей сессии. Эти свойства устанавливаются на сеанс во время его создания и не могут быть изменены позже. Если вам нужно изменить эти свойства политики, создайте новый сеанс с измененной конфигурацией сеанса.

sharedSession

Возвращает общий объект сеанса singleton.

Сначала просмотрите Apple Documents, поскольку они являются источником очень важной информации.