Contents

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 request object is deep-copied as part of the initialization process. Changes made to request after 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.

See Also

Loading Data Asynchronously