init(request:delegate:startImmediately:)
Returns an initialized URL connection and begins to load the data for the URL request, if specified.
Declaration
init?(request: URLRequest, delegate: Any?, startImmediately: Bool)Parameters
- request:
The URL request to load. The
requestobject is deep-copied as part of the initialization process. Changes made torequestafter this method returns do not affect the request that is used for the loading process. - delegate:
The delegate object for the connection. The connection calls methods on this delegate as the load progresses.
- startImmediately:
True if the connection should begin loading data immediately, otherwise False. If you pass False, the connection is not scheduled with a run loop. You can then schedule the connection in the run loop and mode of your choice by calling Schedule(in:formode:).
Return Value
The URL connection for the URL request. Returns nil if a connection can’t be initialized.
Discussion
During the download the connection maintains a strong reference to the delegate. It releases that strong reference when the connection finishes loading, fails, or is canceled.