XCode 15.0 日本語化計画:New Human Interface Guideline
デバッグ目的に適した、カスタマイズされたテキスト表現を持つ型。
protocol CustomDebugStringConvertible
必須 デフォルトの実装が提供されます。
Swift は、あらゆる型に対してデフォルトのデバッグテキスト表現を提供します。このデフォルトの表現は、独自の表現を提供しない型の String(reflecting:) イニシャライザと debugPrint(_:) 関数によって使用されます。この表現をカスタマイズするには、型を CustomDebugStringConvertible プロトコルに準拠させます。
String(reflecting:) イニシャライザは 任意の 型のインスタンスに対して機能し、渡された値が CustomDebugStringConvertible に準拠している場合はインスタンスの debugDescription を返すため、型の debugDescription プロパティに直接アクセスしたり、CustomDebugStringConvertible を汎用制約として使用したりすることは推奨されません。
debugDescription プロパティを定義して、カスタム型に CustomDebugStringConvertible 準拠を追加します。
たとえば、このカスタム Point 構造体は、標準ライブラリによって提供されるデフォルトの表現を使用します。
debugDescription プロパティを実装して CustomDebugStringConvertible への準拠を追加した後、Point は独自のカスタムデバッグ表現を提供します。
デバッグに適した、このインスタンスのテキスト表現。
必須 デフォルトの実装が提供されます。
Element が Copyable かつ Escapable に準拠している場合に準拠します。
ArraySlice
Element が Copyable かつ Escapable に準拠している場合に準拠します。
AutoreleasingUnsafeMutablePointer
CVaListPointer
ClosedRange
Bound が Comparable に準拠する場合に準拠します。
CollectionOfOne
Element が Copyable かつ Escapable に準拠している場合に準拠します。
ContiguousArray
Element が Copyable かつ Escapable に準拠している場合に準拠します。
Key が Hashable に準拠し、Value が Copyable に準拠し、Value が Escapable に準拠する場合に準拠します。
Dictionary.Keys
Key が Hashable に準拠し、Value が Copyable に準拠し、Value が Escapable に準拠する場合に準拠します。
Dictionary.Values
Key が Hashable に準拠し、Value が Copyable に準拠し、Value が Escapable に準拠する場合に準拠します。
Float16
Key が Copyable に準拠し、Key が Escapable に準拠し、Value が Copyable に準拠し、Value が Escapable に準拠する場合に準拠します。
ObjectIdentifier
Optional
Wrapped が Copyable および Escapable に準拠する場合に準拠します。
Bound が Comparable に準拠する場合に準拠します。
SIMD16
Scalar が SIMDScalar に準拠する場合に準拠します。
SIMD2
Scalar が SIMDScalar に準拠する場合に準拠します。
SIMD3
Scalar が SIMDScalar に準拠する場合に準拠します。
SIMD32
Scalar が SIMDScalar に準拠する場合に準拠します。
SIMD4
Scalar が SIMDScalar に準拠する場合に準拠します。
SIMD64
Scalar が SIMDScalar に準拠する場合に準拠します。
SIMD8
Scalar が SIMDScalar に準拠する場合に準拠します。
Element が Hashable に準拠する場合に準拠します。
StaticBigInt
String.UTF16View
String.UTF8View
Element が Escapable に準拠している場合に準拠します。
protocol CustomStringConvertible
カスタマイズされたテキスト表現を持つ型。
protocol LosslessStringConvertible
ロスのない、かつ明確な方法で文字列として表現できる型。