convenience(便利构造函数)和类方法

import UIKit

extension UIButton{
    
    //swit中类方法是以class开头的方法,类似于oc中+开头的方法
    class func createButton(imageName:String,bgImageName:String)->UIButton{
        
        let btn=UIButton()
        btn.setImage(UIImage(named:imageName), for: .normal)
        btn.sizeToFit()
    
        return btn
        
        
    }
    
    /*
     convenience:便利,使用convenience修饰的构造函数叫做便利构造函数
     便利构造函数通常用在对系统的类进行构造函数的扩充时使用。
     便利构造函数的特点:
     1、便利构造函数通常都是写在extension里面
     2、便利函数init前面需要加载convenience 
     3、在便利构造函数中需要明确的调用self.init()
    
     */
    
    convenience init(imageName:String,bgImageName:String){
        
        self.init()
        
        setImage(UIImage(named:imageName), for: .normal)
        setBackgroundImage(UIImage(named:bgImageName), for: .normal)
        sizeToFit()
    }
    
    
}

你可能感兴趣的:(convenience(便利构造函数)和类方法)