Общий сеанс против сеанса с настройкой по умолчанию
Каковы различия между двумя объектами 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, поскольку они являются источником очень важной информации.