---
title: XPCDictionary
framework: xpc
role: symbol
role_heading: Structure
path: xpc/xpcdictionary
---

# XPCDictionary

A type that contains key-value pairs, notably used as the container of messages between a client and listener.

## Declaration

```swift
struct XPCDictionary
```

## Topics

### Creating a dictionary

- [init()](xpc/xpcdictionary/init().md)
- [init(_:)](xpc/xpcdictionary/init(_:).md)
- [copy(into:)](xpc/xpcdictionary/copy(into:).md)

### Replying to client messages

- [reply(_:)](xpc/xpcdictionary/reply(_:).md)

### Inspecting a dictionary

- [isEmpty](xpc/xpcdictionary/isempty.md)
- [count](xpc/xpcdictionary/count.md)

### Accessing keys and values

- [keys](xpc/xpcdictionary/keys.md)
- [values](xpc/xpcdictionary/values.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-4hbmg.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-80fs2.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-gas6.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-4j21u.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-8gyze.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-4vrsa.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-3i01t.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-1mm7n.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-4zxc8.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-18db5.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-5y39v.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-qjxa.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-3mzgc.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-119cl.md)
- [subscript(_:as:default:)](xpc/xpcdictionary/subscript(_:as:default:)-5ufgs.md)
- [subscript(_:as:default:)](xpc/xpcdictionary/subscript(_:as:default:)-4ssx3.md)
- [withUnsafeUnderlyingDictionary(_:)](xpc/xpcdictionary/withunsafeunderlyingdictionary(_:).md)

### Removing keys and values

- [removeValue(forKey:)](xpc/xpcdictionary/removevalue(forkey:).md)

### Supporting types

- [XPCDictionary.KeyValuePair](xpc/xpcdictionary/keyvaluepair.md)

### Iterating over keys and values

- [forEach(_:)](xpc/xpcdictionary/foreach(_:)-9hufx.md)
- [forEach(_:)](xpc/xpcdictionary/foreach(_:)-6riqn.md)

### Transforming a dictionary

- [map(_:)](xpc/xpcdictionary/map(_:).md)

### Subscripts

- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-11qvo.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-2p7tp.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-hl1w.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-n49r.md)
- [subscript(_:)](xpc/xpcdictionary/subscript(_:)-u6bo.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-1nvet.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-279le.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-58a41.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-7rdzi.md)
- [subscript(_:as:)](xpc/xpcdictionary/subscript(_:as:)-91g9b.md)
- [subscript(_:as:default:)](xpc/xpcdictionary/subscript(_:as:default:)-17z80.md)
- [subscript(_:as:default:)](xpc/xpcdictionary/subscript(_:as:default:)-51ffh.md)
- [subscript(_:as:default:)](xpc/xpcdictionary/subscript(_:as:default:)-vwea.md)

### Default Implementations

- [ExpressibleByDictionaryLiteral Implementations](xpc/xpcdictionary/expressiblebydictionaryliteral-implementations.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [ExpressibleByDictionaryLiteral](swift/expressiblebydictionaryliteral.md)
- [Hashable](swift/hashable.md)

## See Also

### Dictionary objects

- [xpc_dictionary_create(_:_:_:)](xpc/xpc_dictionary_create(_:_:_:).md)
- [xpc_dictionary_create_empty()](xpc/xpc_dictionary_create_empty().md)
- [xpc_dictionary_create_connection(_:_:)](xpc/xpc_dictionary_create_connection(_:_:).md)
- [xpc_dictionary_create_reply(_:)](xpc/xpc_dictionary_create_reply(_:).md)
- [xpc_dictionary_set_value(_:_:_:)](xpc/xpc_dictionary_set_value(_:_:_:).md)
- [xpc_dictionary_get_count(_:)](xpc/xpc_dictionary_get_count(_:).md)
- [xpc_dictionary_get_value(_:_:)](xpc/xpc_dictionary_get_value(_:_:).md)
- [xpc_dictionary_apply(_:_:)](xpc/xpc_dictionary_apply(_:_:).md)
- [xpc_dictionary_dup_fd(_:_:)](xpc/xpc_dictionary_dup_fd(_:_:).md)
- [xpc_dictionary_get_array(_:_:)](xpc/xpc_dictionary_get_array(_:_:).md)
- [xpc_dictionary_get_bool(_:_:)](xpc/xpc_dictionary_get_bool(_:_:).md)
- [xpc_dictionary_get_data(_:_:_:)](xpc/xpc_dictionary_get_data(_:_:_:).md)
- [xpc_dictionary_get_date(_:_:)](xpc/xpc_dictionary_get_date(_:_:).md)
- [xpc_dictionary_get_dictionary(_:_:)](xpc/xpc_dictionary_get_dictionary(_:_:).md)
- [xpc_dictionary_get_double(_:_:)](xpc/xpc_dictionary_get_double(_:_:).md)
