---
title: "init(machPort:options:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/nsmachport/init(machport:options:)"
---

# init(machPort:options:)

Initializes a newly allocated NSMachPort object with a given Mach port and the specified options.

## Declaration

```swift
init(machPort: UInt32, options f: NSMachPort.Options = [])
```

## Parameters

- `machPort`: The Mach port for the new port. This parameter should originally be of type mach_port_t.
- `f`: Specifies options for what to do with the underlying port rights when the NSMachPort object is invalidated or destroyed. For a list of constants, see Mach Port Rights.

## Return Value

Return Value Returns an initialized NSMachPort object that uses machPort to send or receive messages. The returned object might be different than the original receiver

## Discussion

Discussion Depending on the access rights for machPort, the new port may be able to only send messages. If a port with machPort already exists, this method deallocates the receiver, then retains and returns the existing port.

## See Also

### Creating and Initializing

- [port(withMachPort:)](foundation/nsmachport/port(withmachport:).md)
- [port(withMachPort:options:)](foundation/nsmachport/port(withmachport:options:).md)
- [init(machPort:)](foundation/nsmachport/init(machport:).md)
