protocol
KeyedDecodingContainerProtocol
A type that provides a view into a decoder's storage and is used to hold the encoded properties of a decodable type in a keyed manner.
Conforming Types | KeyedDecodingContainer |
---|---|
Associated Types |
|
Instance Variables
All the keys the Decoder
has for this container.
Different keyed containers from the same Decoder
may return different
keys here; it is possible to encode with multiple key types which are
not convertible to one another. This should report all keys present
which are convertible to the requested type.
Declaration
var
allKeys
: [
Self
.
Key
]
The path of coding keys taken to get to this point in decoding.
Declaration
var
codingPath
: [
CodingKey
]
Instance Methods
Returns a Boolean value indicating whether the decoder contains a value associated with the given key.
The value associated with key
may be a null value as appropriate for
the data format.
- parameter key: The key to search for.
Declaration
func
contains
(
_
key
:
Self
.
Key
) -
>
Bool
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Bool
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Bool
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
String
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
String
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Double
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Double
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Float
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Float
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Int
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Int8
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int8
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Int16
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int16
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Int32
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int32
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
Int64
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int64
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
UInt
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
UInt8
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt8
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
UInt16
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt16
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
UInt32
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt32
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
(
_
type
:
UInt64
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt64
Decodes a value of the given type for the given key.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decode
<
T
>
(
_
type
:
T
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
T
where
T
:
Decodable
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Bool
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Bool
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
String
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
String
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Double
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Double
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Float
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Float
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Int
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Int8
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int8
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Int16
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int16
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Int32
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int32
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
Int64
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
Int64
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
UInt
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
UInt8
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt8
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
UInt16
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt16
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
UInt32
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt32
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
(
_
type
:
UInt64
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
UInt64
?
Decodes a value of the given type for the given key, if present.
This method returns nil
if the container does not have a value
associated with key
, or if the value is null. The difference between
these states can be distinguished with a contains(_:)
call.
- parameter type: The type of value to decode.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeIfPresent
<
T
>
(
_
type
:
T
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
T
?
where
T
:
Decodable
Decodes a null value for the given key.
- parameter key: The key that the decoded value is associated with.
Declaration
func
decodeNil
(
forKey
key
:
Self
.
Key
)
throws
-
>
Bool
Returns the data stored for the given key as represented in a container keyed by the given key type.
- parameter type: The key type to use for the container.
- parameter key: The key that the nested container is associated with.
Declaration
func
nestedContainer
<
NestedKey
>
(
keyedBy
type
:
NestedKey
.
Type
,
forKey
key
:
Self
.
Key
)
throws
-
>
KeyedDecodingContainer
<
NestedKey
>
where
NestedKey
:
CodingKey
Returns the data stored for the given key as represented in an unkeyed container.
- parameter key: The key that the nested container is associated with.
Declaration
func
nestedUnkeyedContainer
(
forKey
key
:
Self
.
Key
)
throws
-
>
UnkeyedDecodingContainer
Returns a Decoder
instance for decoding super
from the container
associated with the default super
key.
Equivalent to calling superDecoder(forKey:)
with
Key(stringValue: "super", intValue: 0)
.
Declaration
func
superDecoder
()
throws
-
>
Decoder
Returns a Decoder
instance for decoding super
from the container
associated with the given key.
- parameter key: The key to decode
super
for.
Declaration
func
superDecoder
(
forKey
key
:
Self
.
Key
)
throws
-
>
Decoder
Decoders should provide types conforming to
UnkeyedDecodingContainer
for their format.