<!--
{
  "availability" : [
    "macCatalyst: 13.1.0 - 13.1.0",
    "macOS: 10.0.0 - 10.13.0"
  ],
  "documentType" : "symbol",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/NSConnectionDelegate/connection:shouldMakeNewConnection:",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Foundation"
    ],
    "preciseIdentifier" : "c:objc(pl)NSConnectionDelegate(im)connection:shouldMakeNewConnection:"
  },
  "title" : "connection:shouldMakeNewConnection:"
}
-->

# connection:shouldMakeNewConnection:

Returns a Boolean value that indicates whether the parent connection should allow a given new connection to be created.

```
- (BOOL) connection:(NSConnection *) ancestor shouldMakeNewConnection:(NSConnection *) conn;
```

## Parameters

`ancestor`

The connection object for which the receiver is the delegate.

`conn`

The new connection.

## Return Value

<doc://com.apple.documentation/documentation/Swift/true> if `ancestor` should allow `conn` to be created and set up, <doc://com.apple.documentation/documentation/Swift/false> if `ancestor` should refuse and immediately release `conn`.

## Discussion

Use this method to limit the amount of `NSConnection` objects created in your application or to change the parameters of child `NSConnection` objects.

Use [`NSConnectionDidInitializeNotification`](/documentation/Foundation/NSConnectionDidInitializeNotification) instead of this delegate method if possible.

---

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)