关于 CustomStringConvertible 协议

CustomStringConvertible 用于需要用文本来输出一个对象或者结构的类中,如果我们直接用 print 语句输出一个实例,CustomStringConvertible 协议会让我们更加容易理解实例的内容,而不是诸如一些内存地址之类。

如何使用

1
2
3
4
5
6
7
8
9
struct Person {

var firstName: String
var lastName: String

}

var person = Person(firstName: "cook", lastName: "tim")
print(person) // 输出 Person 只能得到一个结构体名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct Person : CustomStringConvertible {

var firstName: String
var lastName: String

var description: String {

return "\(lastName) \(firstName)"

}

}
var person = Person(firstName: "cook", lastName: "tim")
print(person) // 输出 tim cook

这才是我们需要的输出结果。

文章作者: Ammar
文章链接: http://lizhaoloveit.cn/2016/04/22/%E5%85%B3%E4%BA%8ECustomStringConvertible%E5%8D%8F%E8%AE%AE/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ammar's Blog
打赏
  • 微信
  • 支付宝

评论