swift5.给系统类添加便利构造函数
生活随笔
收集整理的這篇文章主要介紹了
swift5.给系统类添加便利构造函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
swift5.給系統類添加便利構造函數
便利構造函數是swift的重點。
swift并沒有分類,所謂分類就是給系統類做擴展。
我們使用便利構造函數去給系統類進行拓展。
我們創建類的對象,直接使用構造函數去初始化賦值。不需要通過全局類方法去調用。使得代碼更加優雅簡潔。
給UIButton 添加便利構造函數
extension UIButton { convenience init(imageName: String, bgImageName: String){self.init()setImage(UIImage(named: imageName), for: .normal)setImage(UIImage(named: imageName + "_highlighted"), for: .highlighted)setBackgroundImage(UIImage(named: bgImageName), for: .normal)setBackgroundImage(UIImage(named: bgImageName + "_highlighted"), for: .highlighted)sizeToFit()}class func createButton(imageName: String, bgImageName: String) -> UIButton {let btn = UIButton()btn.setImage(UIImage(named: imageName), for: .normal)btn.setImage(UIImage(named: imageName + "_highlighted"), for: .highlighted)btn.setBackgroundImage(UIImage(named: bgImageName), for: .normal)btn.setBackgroundImage(UIImage(named: bgImageName + "_highlighted"), for: .highlighted)btn.sizeToFit()return btn} }調用UIButton(imageName: “aaaa”,bgImageName: “bbbbb”)
aaaa和bbbb是圖片名
給UIColor添加便利構造函數
import UIKit extension UIColor {convenience init(r: CGFloat,g: CGFloat,b: CGFloat){self.init(red: r / 255.0, green: g / 255.0, blue: b / 255.0, alpha: 1)} }調用UIColor(r: 44, g:44, b:44)
UIBarButtonItem的分類擴展,便利構造函數
import UIKit extension UIBarButtonItem {convenience init(imageName: String) {let btn = UIButton()btn.setImage(UIImage(named: imageName), for: .normal)btn.setImage(UIImage(named: imageName + "_highlighted"), for: .highlighted)btn.sizeToFit()self.init(customView: btn)}/* convenience init(imageName: String) {self.init()let btn = UIButton()btn.setImage(UIImage(named: imageName), for: .normal)btn.setImage(UIImage(named: imageName + "_highlighted"), for: .highlighted)btn.sizeToFit()self.customView = btn}*/ }總結
以上是生活随笔為你收集整理的swift5.给系统类添加便利构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS之storyBoard的story
- 下一篇: [转]在Windows 下使用OpenC