什么是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"
- let str = String(myobj) // str == "MyClass: 12"
这是访问实例描述的推荐方法(而不是myobj.description,如果类不实现CustomStringConvertible将不起作用)