Protocol

CustomStringConvertible

A type with a customized textual representation. カスタマイズされた原文の表現を持つ型。

Declaration 宣言

protocol CustomStringConvertible

Overview 概要

Types that conform to the CustomStringConvertible protocol can provide their own representation to be used when converting an instance to a string. The String(describing:) initializer is the preferred way to convert an instance of any type to a string. If the passed instance conforms to CustomStringConvertible, the String(describing:) initializer and the print(_:) function use the instance’s custom description property. CustomStringConvertibleプロトコルに準拠する型は、それら独自の表現を提供して、インスタンスが文字列に変換されるときに使われるようにできます。String(describing:)イニシャライザは、あらゆる型のインスタンスをある文字列へ変換する好ましい方法です。渡されたインスタンスがCustomStringConvertibleに準拠するならば、String(describing:)イニシャライザとprint(_:)関数はそのインスタンスのあつらえのdescriptionプロパティを使います。

Accessing a type’s description property directly or using CustomStringConvertible as a generic constraint is discouraged. ある型のもつdescriptionプロパティに直にアクセスすることやCustomStringConvertibleを総称体制約として使うことは推奨されません。

Conforming to the CustomStringConvertible Protocol CustomStringConvertibleプロトコルに準拠する

Add CustomStringConvertible conformance to your custom types by defining a description property. CustomStringConvertible準拠をあなたのあつらえの型にdescriptionプロパティを定義することによって加えてください。

For example, this custom Point struct uses the default representation supplied by the standard library: 例えば、このあつらえのPoint structは、標準ライブラリによって提供される省略時の表現を使います:


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


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

After implementing the description property and declaring CustomStringConvertible conformance, the Point type provides its own custom representation. descriptionプロパティの実装とCustomStringConvertible準拠の宣言の後は、Point型はそれ自身のあつらえの表現を提供します。


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


print(p)
// Prints "(21, 30)"

Topics 話題

Instance Properties 様々なインスタンスプロパティ

Relationships 関係

Conforming Types これらの型が準拠

See Also 参照

String Representation 文字列表現