---
title: KeyedEncodingContainerProtocol
framework: swift
role: symbol
role_heading: Protocol
path: swift/keyedencodingcontainerprotocol
---

# KeyedEncodingContainerProtocol

A type that provides a view into an encoder’s storage and is used to hold the encoded properties of an encodable type in a keyed manner.

## Declaration

```swift
protocol KeyedEncodingContainerProtocol
```

## Overview

Overview Encoders should provide types conforming to KeyedEncodingContainerProtocol for their format.

## Topics

### Associated Types

- [Key](swift/keyedencodingcontainerprotocol/key.md)

### Instance Properties

- [codingPath](swift/keyedencodingcontainerprotocol/codingpath.md)

### Instance Methods

- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-389ei.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-44xki.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-45mw2.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-4lg54.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-4xpm2.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-53bkq.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-73p1b.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-74l0h.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-75dqb.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-7d8l.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-86s3y.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-887jx.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-8gl89.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-8mwtj.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-8xq4c.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-9hxpb.md)
- [encode(_:forKey:)](swift/keyedencodingcontainerprotocol/encode(_:forkey:)-qjna.md)
- [encodeConditional(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeconditional(_:forkey:).md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-1d9dk.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-1f6sg.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-1iqzh.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-1r22b.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-2xq5p.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-35mgj.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-3j1kl.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-4axra.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-5ig1w.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-5uiig.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-5xhse.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-68f89.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-6xotr.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-7b7eu.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-837jy.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-d7xg.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainerprotocol/encodeifpresent(_:forkey:)-luij.md)
- [encodeNil(forKey:)](swift/keyedencodingcontainerprotocol/encodenil(forkey:).md)
- [nestedContainer(keyedBy:forKey:)](swift/keyedencodingcontainerprotocol/nestedcontainer(keyedby:forkey:).md)
- [nestedUnkeyedContainer(forKey:)](swift/keyedencodingcontainerprotocol/nestedunkeyedcontainer(forkey:).md)
- [superEncoder()](swift/keyedencodingcontainerprotocol/superencoder().md)
- [superEncoder(forKey:)](swift/keyedencodingcontainerprotocol/superencoder(forkey:).md)

## Relationships

### Conforming Types

- [KeyedEncodingContainer](swift/keyedencodingcontainer.md)

## See Also

### Encoding Containers

- [SingleValueEncodingContainer](swift/singlevalueencodingcontainer.md)
- [KeyedEncodingContainer](swift/keyedencodingcontainer.md)
- [UnkeyedEncodingContainer](swift/unkeyedencodingcontainer.md)
