扩展就是为一个类、结构体、枚举、协议,添加扩展功能.
与OC中的分类及其相似,不同的是Swift的扩展没有名字.
Swift的扩展可以:
- 添加计算性属性
- 定义实例方法和类型方法
- 提供新的构造器
- 定义下标
- 定义和使用新的嵌套类型
- 使用一个已有类型符合某个协议
注意:扩展可以为一个类添加新的功能,但不能重写类的功能.
优雅的使用Extensions可将代码模块化,提高代码可读性,巧妙的迎合了“高内聚,低耦合”的概念.
如果平时你很少用或不知道怎么巧妙使用Swift的Extensions, 建议可以看“错误”的使用 Swift 中的 Extension。
这篇文章SwiftGG是不是翻译的值得你一看?