# AnyEncodable

    @frozen
    struct AnyEncodable

    extension AnyEncodable : Copyable, CustomDebugStringConvertible, CustomStringConvertible, Encodable, Equatable, Escapable, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, ExpressibleByDictionaryLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByFloatLiteral, ExpressibleByIntegerLiteral, ExpressibleByNilLiteral, ExpressibleByStringInterpolation, ExpressibleByStringLiteral, ExpressibleByUnicodeScalarLiteral, Hashable, _AnyEncodable

A type-erased `Encodable` value.

The `AnyEncodable` type forwards encoding responsibilities to an underlying value, hiding its specific underlying type.

You can encode mixed-type values in dictionaries and other collections that require `Encodable` conformance by declaring their contained type to be `AnyEncodable`:

let dictionary: [String: AnyEncodable] = [ “boolean”: true, “integer”: 42, “double”: 3.141592653589793, “string”: “string”, “array”: [1, 2, 3], “nested”: [ “a”: “alpha”, “b”: “bravo”, “c”: “charlie” ], “null”: nil ]

let encoder = JSONEncoder() let json = try! encoder.encode(dictionary)

- `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: AnyEncodable, rhs: AnyEncodable) -> 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)

© 2026 LicenseSpring. All rights reserved. (Last updated: 2026-05-27)

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