---
title: "init(keyPointerFunctions:valuePointerFunctions:capacity:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/nsmaptable/init(keypointerfunctions:valuepointerfunctions:capacity:)"
---

# init(keyPointerFunctions:valuePointerFunctions:capacity:)

Returns a map table, initialized with the given functions.

## Declaration

```swift
init(keyPointerFunctions keyFunctions: NSPointerFunctions, valuePointerFunctions valueFunctions: NSPointerFunctions, capacity initialCapacity: Int)
```

## Parameters

- `keyFunctions`: The functions the map table uses to manage keys.
- `valueFunctions`: The functions the map table uses to manage values.
- `initialCapacity`: The initial capacity of the map table. This is just a hint; the map table may subsequently grow and shrink as required.

## Return Value

Return Value A map table, initialized with the given functions.

## See Also

### Creating and Initializing a Map Table

- [init(keyOptions:valueOptions:capacity:)](foundation/nsmaptable/init(keyoptions:valueoptions:capacity:).md)
- [init(keyOptions:valueOptions:)](foundation/nsmaptable/init(keyoptions:valueoptions:).md)
- [strongToStrongObjects()](foundation/nsmaptable/strongtostrongobjects().md)
- [weakToStrongObjects()](foundation/nsmaptable/weaktostrongobjects().md)
- [strongToWeakObjects()](foundation/nsmaptable/strongtoweakobjects().md)
- [weakToWeakObjects()](foundation/nsmaptable/weaktoweakobjects().md)
- [NSMapTableOptions](foundation/nsmaptableoptions.md)
