Bạn cần phải thực hiện các giao thức Printable
:
giao thức này nên được áp dụng theo loại có nhu cầu tùy chỉnh hiển thị văn bản của họ. Biểu diễn văn bản này được sử dụng khi các đối tượng được ghi vào một số OutputStreamType
.
protocol Printable {
var description: String { get }
}
Ngoài ra còn có các giao thức DebugPrintable
khi nó chỉ dành cho mục đích gỡ lỗi:
giao thức này nên được áp dụng theo loại có nhu cầu tùy chỉnh đại diện văn bản của họ sử dụng cho mục đích gỡ lỗi. Biểu mẫu văn bản này được sử dụng khi đối tượng được ghi vào một số OutputStreamType
.
protocol DebugPrintable {
var debugDescription: String { get }
}
Documentation (Cảm ơn @MartinR)
Lưu ý: Như @Antonio và @MartinR đề cập trong các ý kiến, điều này không làm việc ở sân chơi (như của Xcode6 GM anyway) ; đó là một lỗi đã biết. Nó hoạt động trong các ứng dụng được biên dịch.
Từ Xcode6 GM Ghi chú Phát hành:
Trong sân chơi, println() bỏ qua sự phù hợp có thể in của kiểu do người dùng định nghĩa. (16562388)
Kể từ Swift 2.0 Printable
hiện đã trở thành CustomStringConvertible
. Mọi thứ vẫn giữ nguyên như trước đây, bạn vẫn cần triển khai
var description: String { get }
Nhưng giờ đây được gọi là CustomStringConvertible. Và gỡ lỗi là CustomDebugStringConvertible
Nguồn
2014-09-12 20:42:29
Bạn có chắc chắn điều này không? Test'. Bất kể 'Printable' có được triển khai hay không là – Antonio
Cũng được ghi lại ở đây: https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibr aryReference/Printing.html. –
Thú vị. Nó hoạt động trong một ứng dụng biên soạn, nhưng không phải trong một sân chơi. –