Sie müssen das Printable
Protokoll implementieren:
Dieses Protokoll sollte von Arten angenommen werden, anpassen möchten ihre Textdarstellung. Diese textuelle Darstellung wird verwendet, wenn Objekte in eine OutputStreamType
geschrieben werden.
protocol Printable {
var description: String { get }
}
Es gibt auch die DebugPrintable
Protokoll, wenn es nur für Debugging-Zwecke ist:
Dieses Protokoll sollte von Arten angenommen werden, dass ihre Textdarstellung für Debugging-Zwecke verwendet anpassen möchten. Diese Textdarstellung wird verwendet, wenn Objekte in eine OutputStreamType
geschrieben werden.
protocol DebugPrintable {
var debugDescription: String { get }
}
Documentation (Dank @MartinR)
Hinweis: Als @Antonio und @MartinR in den Kommentaren erwähnt, dies auf dem Spielplatz nicht funktioniert (Stand Xcode6 GM sowieso) ; das ist ein bekannter Fehler. Es funktioniert in kompilierten Apps.
Vom Xcode6 GM Release Notes:
In Spielplatz, println() ignoriert den Druck Konformität von benutzerdefinierten Typen. (16562388)
Ab Swift 2.0 Printable
hat dich jetzt CustomStringConvertible
. Alles bleibt gleich wie zuvor, Sie müssen noch implementieren
var description: String { get }
Aber jetzt heißt es CustomStringConvertible. Und debug ist CustomDebugStringConvertible
Bist Du sicher das funktioniert? ich dachte gleich, versuchte sich auf einem Spielplatz, und es zeigt so etwas wie '__lldb_expr_551. Test ". Unabhängig von" Printable "implementiert oder nicht – Antonio
Auch dokumentiert hier: https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibr aryReferenz/Drucken.html. –
Interessant. Es funktioniert in einer kompilierten App, aber nicht auf einem Spielplatz. –