《從零開始學Swift》學習筆記(Day 49)——擴展聲明

原創文章,歡迎轉載。轉載請註明:關東昇的博客  php

聲明擴展的語法格式以下:java

extension 類型名 {   微信

    //添加新功能函數

}網站

聲明擴展的關鍵字是extension,「類型名」是Swift中已有的類型,包括類、結構體和枚舉,可是咱們仍然能夠擴展整型、浮點型、布爾型、字符串等基本數據類型,這是由於這些類型本質上也是結構體類型。打開Int的定義以下:spa

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類型,咱們熟悉的整型、浮點型、布爾型、字符串等數據類型本質上都是結構體類型。.net

Swift中的擴展機制能夠在原始類型中添加的新功能包括:設計

  • 實例計算屬性和類型計算屬性code

  • 實例方法和類型方法orm

  • 構造函數

  • 下標

還有嵌套類型等內容也能夠擴展,擴展還能夠聽從協議。

 

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

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

相關文章
相關標籤/搜索