В документации для URLSessionDelegate
написано:
Ваш объект URLSession не должен иметь делегата.Если ни один делегат не назначен, используется предоставленный системой делегат, и вы должны предоставить обратный вызов завершения для получения данных.
Мне нужно реализовать только один из методов, подобных этому:
class SessionDelegate: NSObject, URLSessionTaskDelegate {
func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) {
var request = request
request.httpMethod = task.originalRequest?.httpMethod ?? request.httpMethod
completionHandler(request)
}
}
И затем инициализировать мой сеанс следующим образом:
self.session = URLSession(configuration: config, delegate: SessionDelegate(), delegateQueue: nil)
Переопределяет ли это какое-либо другое поведение в «предоставленном системой делегате» для методов, которые я не реализовал?