擴展就是為一個類、結構體、枚舉、協議,添加擴展功能.
與OC中的分類及其相似,不同的是Swift的擴展沒有名字.
Swift的擴展可以:
- 添加計算性屬性
- 定義實例方法和類型方法
- 提供新的構造器
- 定義下標
- 定義和使用新的嵌套類型
- 使用一個已有類型符合某個協議
注意:擴展可以為一個類添加新的功能,但不能重寫類的功能.
優雅的使用Extensions可將代碼模塊化,提高代碼可讀性,巧妙的迎合了“高內聚,低耦合”的概念.
如果平時你很少用或不知道怎么巧妙使用Swift的Extensions, 建議可以看“錯誤”的使用 Swift 中的 Extension。
這篇文章SwiftGG是不是翻譯的值得你一看?