Swift 扩展方法,便利构造函数的创建
最近项目快完成了,于是开始进入优化项目的阶段了,在oc中,我们可以创建分类来扩展方法,而swift就更方便,下面有两种方法:
代码如下:
这是对UIBarButtonItem 的扩展方法
import UIKit //对UIBarButtonItem extension UIBarButtonItem { //扩展方法 // class func createItem(imageName: String,highligh: String, size: CGSize) -> UIBarButtonItem { // let btn = UIButton() // // btn.setImage(UIImage(named: imageName), for: .normal) // btn.setImage(UIImage(named: highligh), for: .highlighted) // // btn.frame = CGRect(origin: CGPoint.zero, size: size) // return UIBarButtonItem(customView: btn) // } //便利构造函数 1:convenience 2:self.init,⚠️: other 不传 也不会报错 convenience init(imageName: String = "",highligh: String = "", size: CGSize, other: String = "") { let btn = UIButton() btn.setImage(UIImage(named: imageName), for: .normal) btn.setImage(UIImage(named: highligh), for: .highlighted) btn.frame = CGRect(origin: CGPoint.zero, size: size) self.init(customView: btn) } }