Instance Method

dataTask(with:)

Creates a task that retrieves the contents of the specified URL.

Declaration

func dataTask(with url: URL) -> URLSessionDataTask

Parameters

url

The URL to be retrieved.

Return Value

The new session data task.

Discussion

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 the response metadata, response data, and so on.

See Also

Adding Data Tasks to a Session

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

Creates a task that retrieves the contents of the specified URL, then calls a handler upon completion. The task bypasses calls to delegate methods for response and data delivery, and instead provides any resulting NSData, URLResponse, and NSError objects inside the completion handler. Delegate methods for handling authentication challenges, however, are still called.

func dataTask(with: URLRequest)

Creates a task that retrieves the contents of a URL based on the specified URL request object.

func dataTask(with: URLRequest, completionHandler: (Data?, URLResponse?, Error?) -> Void)

Creates a task that retrieves the contents of a URL based on the specified URL request object, and calls a handler upon completion. The task bypasses calls to delegate methods for response and data delivery, and instead provides any resulting NSData, URLResponse, and NSError objects inside the completion handler. Delegate methods for handling authentication challenges, however, are still called.

class URLSessionDataTask

A URL session task that returns downloaded data directly to the app in memory.

protocol URLSessionDataDelegate

The NSURLSessionDataDelegate protocol defines the methods that a delegate of an URLSession object can implement to handle task-level events specific to data tasks and upload tasks. Your session delegate should also implement the methods in the URLSessionTaskDelegate protocol to handle task-level events that are common to all task types, and methods in the URLSessionDelegate protocol to handle session-level events.