---
title: KeyedEncodingContainer
framework: swift
role: symbol
role_heading: Structure
path: swift/keyedencodingcontainer
---

# KeyedEncodingContainer

A concrete container that provides a view into an encoder’s storage, making the encoded properties of an encodable type accessible by keys.

## Declaration

```swift
struct KeyedEncodingContainer<K> where K : CodingKey
```

## Topics

### Initializers

- [init(_:)](swift/keyedencodingcontainer/init(_:).md)

### Instance Properties

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

### Instance Methods

- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-11ktw.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-1m6rk.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-3a74m.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-3xzi8.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-4qaju.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-5bc5p.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-78vtz.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-7a0m.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-7ch7a.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-85f3r.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-8hung.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-8ik7d.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-8qhuv.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-8y5p6.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-92a4.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-99z4.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-9c512.md)
- [encode(_:forKey:)](swift/keyedencodingcontainer/encode(_:forkey:)-9mh8u.md)
- [encode(_:forKey:configuration:)](swift/keyedencodingcontainer/encode(_:forkey:configuration:)-3i2wq.md)
- [encode(_:forKey:configuration:)](swift/keyedencodingcontainer/encode(_:forkey:configuration:)-4va3q.md)
- [encodeConditional(_:forKey:)](swift/keyedencodingcontainer/encodeconditional(_:forkey:).md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-11yvf.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-250z5.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-2b1yb.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-2rzgp.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-3rw9e.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-45la3.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-4c8zy.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-6cflq.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-70fw4.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-70vk4.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-7c6zc.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-7cikn.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-7wqtl.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-87bds.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-9vbxv.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-9ydxr.md)
- [encodeIfPresent(_:forKey:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:)-ikpq.md)
- [encodeIfPresent(_:forKey:configuration:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:configuration:)-7bzb4.md)
- [encodeIfPresent(_:forKey:configuration:)](swift/keyedencodingcontainer/encodeifpresent(_:forkey:configuration:)-7x1yj.md)
- [encodeNil(forKey:)](swift/keyedencodingcontainer/encodenil(forkey:).md)
- [encodePredicateExpression(_:forKey:variable:predicateConfiguration:)](swift/keyedencodingcontainer/encodepredicateexpression(_:forkey:variable:predicateconfiguration:)-4hhm9.md)
- [encodePredicateExpression(_:forKey:variable:predicateConfiguration:)](swift/keyedencodingcontainer/encodepredicateexpression(_:forkey:variable:predicateconfiguration:)-92gv8.md)
- [encodePredicateExpressionIfPresent(_:forKey:variable:predicateConfiguration:)](swift/keyedencodingcontainer/encodepredicateexpressionifpresent(_:forkey:variable:predicateconfiguration:)-858hy.md)
- [encodePredicateExpressionIfPresent(_:forKey:variable:predicateConfiguration:)](swift/keyedencodingcontainer/encodepredicateexpressionifpresent(_:forkey:variable:predicateconfiguration:)-ivzi.md)
- [nestedContainer(keyedBy:forKey:)](swift/keyedencodingcontainer/nestedcontainer(keyedby:forkey:).md)
- [nestedUnkeyedContainer(forKey:)](swift/keyedencodingcontainer/nestedunkeyedcontainer(forkey:).md)
- [superEncoder()](swift/keyedencodingcontainer/superencoder().md)
- [superEncoder(forKey:)](swift/keyedencodingcontainer/superencoder(forkey:).md)

### Type Aliases

- [KeyedEncodingContainer.Key](swift/keyedencodingcontainer/key.md)

### Default Implementations

- [KeyedEncodingContainerProtocol Implementations](swift/keyedencodingcontainer/keyedencodingcontainerprotocol-implementations.md)

## Relationships

### Conforms To

- [KeyedEncodingContainerProtocol](swift/keyedencodingcontainerprotocol.md)

## See Also

### Encoding Containers

- [SingleValueEncodingContainer](swift/singlevalueencodingcontainer.md)
- [KeyedEncodingContainerProtocol](swift/keyedencodingcontainerprotocol.md)
- [UnkeyedEncodingContainer](swift/unkeyedencodingcontainer.md)
