Instance Method

downloadTask(with:)

Creates a download task that retrieves the contents of a URL based on the specified URL request object and saves the results to a file.

Declaration

func downloadTask(with request: URLRequest) -> URLSessionDownloadTask

Parameters

request

An NSURLRequest object that provides the URL, cache policy, request type, body data or body stream, and so on.

Return Value

The new session download task.

Discussion

By creating a task based on a request object, you can tune various aspects of the task’s behavior, including the cache policy and timeout interval.

After you create the task, you must start it by calling its resume() method. The task calls methods on the session’s delegate to provide you with progress notifications, the location of the resulting temporary file, and so on.

See Also

Adding Download Tasks to a Session

func downloadTask(with: URL)

Creates a download task that retrieves the contents of the specified URL and saves the results to a file.

func downloadTask(with: URL, completionHandler: (URL?, URLResponse?, Error?) -> Void)

Creates a download task that retrieves the contents of the specified URL, saves the results to a file, and calls a handler upon completion.

func downloadTask(with: URLRequest, completionHandler: (URL?, URLResponse?, Error?) -> Void)

Creates a download task that retrieves the contents of a URL based on the specified URL request object, saves the results to a file, and calls a handler upon completion.

func downloadTask(withResumeData: Data)

Creates a download task to resume a previously canceled or failed download.

func downloadTask(withResumeData: Data, completionHandler: (URL?, URLResponse?, Error?) -> Void)

Creates a download task to resume a previously canceled or failed download and calls a handler upon completion.

class URLSessionDownloadTask

A URL session task that stores downloaded data to file.

protocol URLSessionDownloadDelegate

The NSURLSessionDownloadDelegate protocol defines delegate methods that you should implement when using URLSession download tasks.