---
title: KeyedDecodingContainer
framework: swift
role: symbol
role_heading: Structure
path: swift/keyeddecodingcontainer
---

# KeyedDecodingContainer

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

## Declaration

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

## Topics

### Initializers

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

### Instance Properties

- [allKeys](swift/keyeddecodingcontainer/allkeys.md)
- [codingPath](swift/keyeddecodingcontainer/codingpath.md)

### Instance Methods

- [contains(_:)](swift/keyeddecodingcontainer/contains(_:).md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-1d33g.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-1n3v.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-1u4zx.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-21ybk.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-3e257.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-3egly.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-3yw73.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-4mzei.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-5fh1x.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-5io1a.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-687gv.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-6d98c.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-721nc.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-7vj8e.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-8foeb.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-8u7rt.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-9633o.md)
- [decode(_:forKey:)](swift/keyeddecodingcontainer/decode(_:forkey:)-9fa2u.md)
- [decode(_:forKey:configuration:)](swift/keyeddecodingcontainer/decode(_:forkey:configuration:)-2rk0t.md)
- [decode(_:forKey:configuration:)](swift/keyeddecodingcontainer/decode(_:forkey:configuration:)-6t8ew.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-1iwt4.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-1zmt1.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-23pwi.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-2ax45.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-2hn6i.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-2thz1.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-2yvgn.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-3thus.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-6zxms.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-74ir4.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-7ucyl.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-7x3cg.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-85fg3.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-897x4.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-8tib2.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-91iaz.md)
- [decodeIfPresent(_:forKey:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:)-9fnqb.md)
- [decodeIfPresent(_:forKey:configuration:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:configuration:)-469qf.md)
- [decodeIfPresent(_:forKey:configuration:)](swift/keyeddecodingcontainer/decodeifpresent(_:forkey:configuration:)-5g1cl.md)
- [decodeNil(forKey:)](swift/keyeddecodingcontainer/decodenil(forkey:).md)
- [decodePredicateExpression(forKey:input:output:predicateConfiguration:)](swift/keyeddecodingcontainer/decodepredicateexpression(forkey:input:output:predicateconfiguration:).md)
- [decodePredicateExpression(forKey:input:predicateConfiguration:)](swift/keyeddecodingcontainer/decodepredicateexpression(forkey:input:predicateconfiguration:).md)
- [decodePredicateExpressionIfPresent(forKey:input:output:predicateConfiguration:)](swift/keyeddecodingcontainer/decodepredicateexpressionifpresent(forkey:input:output:predicateconfiguration:).md)
- [decodePredicateExpressionIfPresent(forKey:input:predicateConfiguration:)](swift/keyeddecodingcontainer/decodepredicateexpressionifpresent(forkey:input:predicateconfiguration:).md)
- [nestedContainer(keyedBy:forKey:)](swift/keyeddecodingcontainer/nestedcontainer(keyedby:forkey:).md)
- [nestedUnkeyedContainer(forKey:)](swift/keyeddecodingcontainer/nestedunkeyedcontainer(forkey:).md)
- [superDecoder()](swift/keyeddecodingcontainer/superdecoder().md)
- [superDecoder(forKey:)](swift/keyeddecodingcontainer/superdecoder(forkey:).md)

### Type Aliases

- [KeyedDecodingContainer.Key](swift/keyeddecodingcontainer/key.md)

### Default Implementations

- [KeyedDecodingContainerProtocol Implementations](swift/keyeddecodingcontainer/keyeddecodingcontainerprotocol-implementations.md)

## Relationships

### Conforms To

- [KeyedDecodingContainerProtocol](swift/keyeddecodingcontainerprotocol.md)

## See Also

### Decoding Containers

- [SingleValueDecodingContainer](swift/singlevaluedecodingcontainer.md)
- [KeyedDecodingContainerProtocol](swift/keyeddecodingcontainerprotocol.md)
- [UnkeyedDecodingContainer](swift/unkeyeddecodingcontainer.md)
