The NSURLConnectionDelegate protocol defines methods common to the NSURLConnectionDataDelegate and NSURLConnectionDownloadDelegate protocols.


Delegates of NSURLConnection objects should implement either the data or download delegate protocol (including the methods described in this protocol). Specifically:

  • If you are using NSURLConnection in conjunction with Newsstand Kit’s download(with:) method, the delegate class should implement the NSURLConnectionDownloadDelegate protocol.

  • Otherwise, the delegate class should implement the NSURLConnectionDataDelegate protocol.

Delegates that wish to perform custom authentication handling should implement the connection(_:willSendRequestFor:) method, which is the preferred mechanism for responding to authentication challenges. (See URLAuthenticationChallenge for more information on authentication challenges.) If connection(_:willSendRequestFor:) is not implemented, the older, deprecated methods connection(_:canAuthenticateAgainstProtectionSpace:), connection(_:didReceive:), and connection(_:didCancel:) are called instead.

The connection(_:didFailWithError:) method is called at most once if an error occurs during the loading of a resource. The connectionShouldUseCredentialStorage(_:) method is called once, just before the loading of a resource begins.


Connection Authentication

func connection(NSURLConnection, willSendRequestFor: URLAuthenticationChallenge)

Tells the delegate that the connection will send a request for an authentication challenge.

func connection(NSURLConnection, canAuthenticateAgainstProtectionSpace: URLProtectionSpace)

Sent to determine whether the delegate is able to respond to a protection space’s form of authentication.

func connection(NSURLConnection, didCancel: URLAuthenticationChallenge)

Sent when a connection cancels an authentication challenge.

func connection(NSURLConnection, didReceive: URLAuthenticationChallenge)

Sent when a connection must authenticate a challenge in order to download its request.

func connectionShouldUseCredentialStorage(NSURLConnection)

Sent to determine whether the URL loader should use the credential storage for authenticating the connection.

Connection Completion

func connection(NSURLConnection, didFailWithError: Error)

Sent when a connection fails to load its request successfully.


Inherits From