假设我有一个代码结构:
struct Point {
var x = 0.0
var y = 0.0
}
var p = Point(x: 5.0, y: 3.0)
println("\(p)")
我会得到:
V6<AppName>8Point (has 2 children)
无论如何将它转换成自定义的东西?在Objective-C中,我相信description()
方法涵盖了这一点,但这不适用于此。
答案 0 :(得分:3)
是的,你可以!查看Apple docs on the Printable protocol。
来自文档的示例代码:
struct MyType: Printable {
var name = "Untitled"
var description: String {
return "MyType: \(name)"
}
}
let value = MyType()
println("Created a \(value)")
// prints "Created a MyType: Untitled"
答案 1 :(得分:3)
对于最近来到这里的人(Swift 2.0),Printable协议已重命名为CustomStringConvertible
答案 2 :(得分:1)
您需要实施Printable协议。只需让您的类实现协议并添加此属性:
var description: String { get }