# AnyCodable

    @frozen
    struct AnyCodable

    extension AnyCodable : Copyable, CustomDebugStringConvertible, CustomStringConvertible, Decodable, Encodable, Equatable, Escapable, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, ExpressibleByDictionaryLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByFloatLiteral, ExpressibleByIntegerLiteral, ExpressibleByNilLiteral, ExpressibleByStringInterpolation, ExpressibleByStringLiteral, ExpressibleByUnicodeScalarLiteral, Hashable, Sendable, SendableMetatype, _AnyDecodable, _AnyEncodable

A type-erased `Codable` value.

The `AnyCodable` type forwards encoding and decoding responsibilities to an underlying value, hiding its specific underlying type.

You can encode or decode mixed-type values in dictionaries and other collections that require `Encodable` or `Decodable` conformance by declaring their contained type to be `AnyCodable`.

See also

`AnyEncodable`

See also

`AnyDecodable`

- `value`

  Undocumented

  #### Declaration

  Swift

      let value: Any

- `init(_:)`

  Undocumented

  #### Declaration

  Swift

      init<T>(_ value: T?)

- `==(_:_:)`

  Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`, `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: AnyCodable, rhs: AnyCodable) -> Bool

  #### Parameters

  `lhs` | A value to compare.
  `rhs` | Another value to compare.

- `description`

  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

  Swift

      var description: String { get }

- `debugDescription`

  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

  Swift

      var debugDescription: String { get }

- `hash(into:)`

  Hashes the essential components of this value by feeding them into the given hasher.

  Implement this method to conform to the `Hashable` protocol. The components used for hashing must be the same as the components compared in your type’s `==` operator implementation. Call `hasher.combine(_:)` with each of these components.

  Important

  In your implementation of `hash(into:)`, don’t call `finalize()` on the `hasher` instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

© 2025 LicenseSpring. All rights reserved. (Last updated: 2025-10-22)

Generated by jazzy ♪♫ v0.15.3, a Realm project.