swift擴充套件Extensions

ytmaylover發表於2018-09-05

1.Extension

  • 擴充套件 就是為一個已有的類、結構體、列舉型別或者協議型別新增新功能

  • 語法:extension SomeType { }

  • 可以使用的功能:

  • 新增計算行屬性,計算型別屬性

  • 定義例項方法和型別方法

  • 提供新的構造器

  • 定義下標

  • 定義和使用新的巢狀型別

  • 使用已有型別符合某個協議。

計算型屬性

  • 為一個類增加計算屬性

    swift擴充套件Extensions

構造器

  • 擴充套件能為類新增新的便利構造器,但是它們不能為類新增新的指定構造器或析構器。指定構造器和析構器必須總是由原始的類實現來提供

    swift擴充套件Extensions

方法

  • 擴充套件可以為已有型別新增新的例項方法和型別方法

    swift擴充套件Extensions

  • 使用: 3.repetitions({ print("Hello!")})

  • 可變例項方法:

  • 結構體和列舉中,修改self或其屬性方法,必須加上mutating

    swift擴充套件Extensions

下標

  • 擴充套件可以為已有型別新增新下標。這個例子為 Swift 內建型別 Int 新增了一個整型下標。該下標 [n] 返回十進位制數字從右向左數的第 n 個數字

    swift擴充套件Extensions

巢狀型別

  • 為Int新增了巢狀列舉,用來表示是正數,負數,0

    swift擴充套件Extensions

相關文章