Discussion 議論
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 debug
property for types that conform to Custom
:
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 debug
property.