便利构造函数
如果我们想扩展某个系统类的方法,在OC中使用分类(Categray),但在Swift中没有分类的概念,但可以使用扩展实现
比如扩展UIButton的初始化方法,可以给UIButton类创建一个扩展(Extension)
在扩展中创建一个便利构造函数
便利构造函数,如果要对系统的某个类的构造函数进行扩充,则需要使用便利构造函数
init之前,加convenience关键字,并且在方法体中明确调用self.init()
UIButton-Extension.swift
import UIKit
extension UIButton {
//便利构造函数,如果要对系统的某个类的构造函数进行扩充,则需要使用便利构造函数
//init之前,加convenience关键字,并且在方法体中明确调用self.init()
convenience init(image:UIImage?,imageHighlighted:UIImage?,backgroundImage:UIImage?,backgroundImageHighlighted:UIImage?) {
self.init()
if image != nil
{
setImage(image, for: .normal)
}
if imageHighlighted != nil
{
setImage(imageHighlighted, for: .highlighted)
}
if backgroundImage != nil
{
setBackgroundImage(backgroundImage, for: .normal)
}
if backgroundImageHighlighted != nil
{
setBackgroundImage(backgroundImageHighlighted, for: .highlighted)
}
}
}