Ich habe eine Struktur in iOS Spielplatz geschrieben und möchte das Druckformat davon anpassen.Warum wird die CustomStringConvertible-Protokollbeschreibung mehrmals aufgerufen?
struct Point {
let x: Int, y: Int
}
extension Point: CustomStringConvertible {
var description: String {
switch (x, y) {
case let (x, 1..<10):
print("y in the range")
return "(\(x), 1..<10)"
default:
return "(\(x), \(y))"
}
}
}
let p = Point(x: 1, y: 1)
print(p)
Das Ergebnis ist
Ich kann nicht verstehen, dass, obwohl ich print
nur einmal aufgerufen, aber y in the range
Nachricht 4 Mal gedruckt wird.
Kann nicht reproduziert werden. - Warte: Hast du es auf einem Spielplatz versucht? –
@MartinR wirklich? Weil ich einen neuen iOS Spielplatz erstelle, um die Bestätigung zu bestätigen, druckt die Konsole, wie ich gepostet habe – shoujs
Ein Spielplatz zeigt die Werte in der rechten Spalte an und ruft deshalb 'description' mehrmals auf. –