문자열 보간에 표시되는 텍스트 출력을 어떻게 수정할 수 있습니까?
Printable
프로토콜은 가장 명백한 보이지만 모두 문자열 보간 무시하고 있어요 인스턴스를 인쇄 할 때, 예를 들면 :
struct Point : Printable
{
var x = 0
var y = 0
var description : String {
return "(\(x), \(y))"
}
func toString() -> String {
return description
}
}
마찬가지로이 toString()
규칙은 효과가 없습니다.
var p = Point(x: 10, y: 20)
println(p) // V11lldb_expr_05Point (has 2 children)
println("\(p)") // V11lldb_expr_05Point (has 2 children)
println(p.description) // (10, 20)
println("\(p.description)") // (10, 20)
동작은 구조체에 대해 자체 문자열 표현을 사용하는 PlayGround에서 다시 다릅니다.
p // {x 10, y 20}
인스턴스 표시 방법을 변경할 수있는 방법이 있습니까?