Swift中的分類
1.創建一個空的swift文件

2.關鍵字extension,格式: extension 要擴展的類名 {}
extension UIButton {
}
Swift中擴展init方法的注意事項
-
如果構造方法前面沒有convenience單詞,代表是一個初始化構造方法(指定構造方法).
-
如果構造方法前面有convenience單詞,代表是一個便利構造方法(方便構造方法).
-
指定構造方法與便利構造方法的區別:
-
指定構造方法中必須對所有的屬性進行初始化.
-
便利構造方法不用對所有屬性進行初始化,因為便利構造方法依賴於指定構造方法(內部要調用self.init())
一般情況下,想要給系統的類提供一個快速創建的方法,就自定義一個便利構造方法
import UIKit
// swift中的分類
extension UIButton {
convenience init(imageName : String,backgroundImage : String) {
// 便利構造方法必須依賴於指定構造方法!!!!!!!!!!!!!!
self.init()
// 初始化按鈕
// 設置按鈕圖片
setImage(UIImage(named: "tabbar_compose_icon_add"), forState: UIControlState.Normal)
setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: UIControlState.Highlighted)
setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: UIControlState.Normal)
setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: UIControlState.Highlighted)
}
}