原創文章,歡迎轉載。轉載請註明:關東昇的博客 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_ 關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php