Swift相当于Java .toString()
什么是Swift等价于Java .toString()来打印类实例的状态?描述属性是您要查找的.这是打印包含对象的变量时访问的属性.您可以通过采用CustomStringConvertible协议,然后实现description属性,将描述添加到您自己的类中.
class MyClass: CustomStringConvertible {
var val = 17
public var description: String { return "MyClass: \(val)" }
}
let myobj = MyClass()
myobj.val = 12
print(myobj) // "MyClass: 12"
当您调用String构造函数时也使用描述:
let str = String(myobj) // str == "MyClass: 12"
这是访问实例描述的推荐方法(而不是myobj.description,如果类不实现CustomStringConvertible将不起作用)
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2021/05/25 06:43