1.Extension
-
擴充套件 就是為一個已有的類、結構體、列舉型別或者協議型別新增新功能
-
語法:
extension SomeType { }
-
可以使用的功能:
-
新增計算行屬性,計算型別屬性
-
定義例項方法和型別方法
-
提供新的構造器
-
定義下標
-
定義和使用新的巢狀型別
-
使用已有型別符合某個協議。
計算型屬性
-
為一個類增加計算屬性
構造器
-
擴充套件能為類新增新的便利構造器,但是它們不能為類新增新的指定構造器或析構器。指定構造器和析構器必須總是由原始的類實現來提供
方法
-
擴充套件可以為已有型別新增新的例項方法和型別方法
-
使用: 3.repetitions({ print("Hello!")})
-
可變例項方法:
-
結構體和列舉中,修改self或其屬性方法,必須加上mutating
下標
-
擴充套件可以為已有型別新增新下標。這個例子為 Swift 內建型別 Int 新增了一個整型下標。該下標 [n] 返回十進位制數字從右向左數的第 n 個數字
巢狀型別
-
為Int新增了巢狀列舉,用來表示是正數,負數,0