CodingKey

protocol CodingKey

A type that can be used as a key for encoding and decoding.

Inheritance CustomDebugStringConvertible, CustomStringConvertible View Protocol Hierarchy →
Import import Swift

Initializers

init?(intValue:) Required

Creates a new instance from the specified integer.

If the value passed as intValue does not correspond to any instance of this type, the result is nil.

intValue: The integer value of the desired key.

Declaration

init?(intValue: Int)
init?(stringValue:) Required

Creates a new instance from the given string.

If the string passed as stringValue does not correspond to any instance of this type, the result is nil.

stringValue: The string value of the desired key.

Declaration

init?(stringValue: String)

Instance Variables

var intValue: Int? Required

The value to use in an integer-indexed collection (e.g. an int-keyed dictionary).

Declaration

var intValue: Int? { get }
var stringValue: String Required

The string to use in a named collection (e.g. a string-keyed dictionary).

Declaration

var stringValue: String { get }
var debugDescription: String

A textual representation of this instance, suitable for debugging.

Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(reflecting:) initializer. This initializer works with any type, and uses the custom debugDescription property for types that conform to CustomDebugStringConvertible:

struct Point: CustomDebugStringConvertible {
    let x: Int, y: Int

    var debugDescription: String {
        return "(\(x), \(y))"
    }
}

let p = Point(x: 21, y: 30)
let s = String(reflecting: p)
print(s)
// Prints "(21, 30)"

The conversion of p to a string in the assignment to s uses the Point type's debugDescription property.

Declaration

var debugDescription: String { get }

Declared In

CustomDebugStringConvertible
var description: String

A textual representation of this instance.

Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(describing:) initializer. This initializer works with any type, and uses the custom description property for types that conform to CustomStringConvertible:

struct Point: CustomStringConvertible {
    let x: Int, y: Int

    var description: String {
        return "(\(x), \(y))"
    }
}

let p = Point(x: 21, y: 30)
let s = String(describing: p)
print(s)
// Prints "(21, 30)"

The conversion of p to a string in the assignment to s uses the Point type's description property.

Declaration

var description: String { get }

Declared In

CustomStringConvertible

Default Implementations

var debugDescription: String

A textual representation of this key, suitable for debugging.

Declaration

var debugDescription: String { get }
var description: String

A textual representation of this key.

Declaration

var description: String { get }