Swift基礎--Swift中的分類以及在分類中擴展init方法的注意事項


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)

    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM