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

# initWithLocal:connection:

Initializes an `NSDistantObject` object as a local proxy for a given object.

```
- (instancetype) initWithLocal:(id) target connection:(NSConnection *) connection;
```

## Parameters

`target`

An object in the receiver’s address space.

`connection`

The connection for the returned proxy.

## Return Value

An initialized `NSDistantObject` object that serves as a local proxy for `target`. If a proxy for `target` and `connection` already exists, the receiver is released and the existing proxy is retained and returned.

## Discussion

Other applications connect to the proxy using the `NSConnection` [`connectionWithRegisteredName:host:`](/documentation/Foundation/NSConnection/connectionWithRegisteredName:host:) class method.

Local proxies should be considered private to their `NSConnection` objects. Only an `NSConnection` object should use this method to create them, and your code shouldn’t retain or otherwise use local proxies.

This is the designated initializer for local proxies. It returns an initialized object, which might be different than the original receiver

---

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)