问题

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)
 

这是否覆盖“system提供的委托”中的任何其他行为,以便我没有实现的方法?

  最佳答案

  相同标签的其他问题

swiftfoundationurlsession