《從零開始學Swift》學習筆記(Day 49)——擴充套件宣告

智捷關東昇發表於2016-03-24

原創文章,歡迎轉載。轉載請註明:關東昇的部落格

  宣告擴充套件的語法格式如下:

extension 型別名 {    
    //新增新功能

}

   宣告擴充套件的關鍵字是extension,“型別名”是Swift中已有的型別,包括類、結構體和列舉,但是我們仍然可以擴充套件整型、浮點型、布林型、字串等基本資料型別,這是因為這些型別本質上也是結構體型別。開啟Int的定義如下:

struct Int : SignedInteger {
    init()
    init(_ value: Int)
    static func convertFromIntegerLiteral(value: Int) -> Int
    typealias ArrayBoundType = Int
    func getArrayBoundValue() -> Int
    static var max: Int { get }
    static var min: Int { get }

}

  從定義可見Int是結構體型別。不僅是Int型別,我們熟悉的整型、浮點型、布林型、字串等資料型別本質上都是結構體型別。

  Swift中的擴充套件機制可以在原始型別中新增的新功能包括: 

  • 例項計算屬性和型別計算屬性 
  • 例項方法和型別方法 
  • 建構函式 
  • 下標
    還有巢狀型別等內容也可以擴充套件,擴充套件還可以遵從協議。

歡迎關注關東昇新浪微博@tony_關東昇。 關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程資訊

更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com 智捷課堂論壇網站:http://51work6.com/forum.php

相關文章