<!--
{
  "availability" : [
    "iOS: 2.0.0 - 9.0.0",
    "iPadOS: 2.0.0 - 9.0.0",
    "macCatalyst: 13.1.0 - 13.1.0",
    "macOS: 10.3.0 - 10.11.0",
    "tvOS: 9.0.0 - 9.0.0",
    "visionOS: 1.0.0 - 1.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/NSURLConnection/init(request:delegate:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Foundation"
    ],
    "preciseIdentifier" : "c:objc(cs)NSURLConnection(im)initWithRequest:delegate:"
  },
  "title" : "init(request:delegate:)"
}
-->

# init(request:delegate:)

Returns an initialized URL connection and begins to load the data for the URL request.

```
init?(request: URLRequest, delegate: Any?)
```

## 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. Delegate methods are called on the same thread that called this method. By default, for the connection to work correctly, the calling thread’s run loop must be operating in the default run loop mode. See [`schedule(in:forMode:)`](/documentation/Foundation/NSURLConnection/schedule(in:forMode:)) to change the run loop and mode.

## Return Value

The URL connection for the URL request. Returns `nil` if a connection can’t be initialized.

## Discussion

This is equivalent to calling [`init(request:delegate:startImmediately:)`](/documentation/Foundation/NSURLConnection/init(request:delegate:startImmediately:)) and passing <doc://com.apple.documentation/documentation/Swift/true> for `startImmediately`.

### Special Considerations

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

[`connectionWithRequest:delegate:`](/documentation/Foundation/NSURLConnection/connectionWithRequest:delegate:)

Creates and returns an initialized URL connection and begins to load the data for the URL request.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)