Initializerswift 6.0.1Swift

    init(describing:)

    Creates a string representing the given value.

    init<Subject>(describing instance: Subject) where Subject : CustomStringConvertible

    Use this initializer to convert an instance of any type to its preferred representation as a String instance. The initializer creates the string representation of instance in one of the following ways, depending on its protocol conformance:

    • If instance conforms to the TextOutputStreamable protocol, the result is obtained by calling instance.write(to: s) on an empty string s.

    • If instance conforms to the CustomStringConvertible protocol, the result is instance.description.

    • If instance conforms to the CustomDebugStringConvertible protocol, the result is instance.debugDescription.

    • An unspecified result is supplied automatically by the Swift standard library.

    For example, this custom Point struct uses the default representation supplied by the standard library.

    struct Point {
        let x: Int, y: Int
    }
    
    let p = Point(x: 21, y: 30)
    print(String(describing: p))
    // Prints "Point(x: 21, y: 30)"

    After adding CustomStringConvertible conformance by implementing the description property, Point provides its own custom representation.

    extension Point: CustomStringConvertible {
        var description: String {
            return "(\(x), \(y))"
        }
    }
    
    print(String(describing: p))
    // Prints "(21, 30)"

    Other members in extension

    Types

    Typealiases

    Show obsolete interfaces (2)

    Hide obsolete interfaces

    Type members

    Show obsolete interfaces (17)

    Hide obsolete interfaces

    Instance members

    Show obsolete interfaces (3)

    Hide obsolete interfaces