zoukankan      html  css  js  c++  java
  • 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)
        }
    }

      

  • 相关阅读:
    (8)Normalization
    (7)Drop out/Drop block
    (6)data augmentation——遮挡
    (5)label smooth
    (4)Focal loss
    (3)data augmentation——pixel-wise
    ostringstream 性能测试
    CPU & 多线程
    PC 常备软件(windows)
    编译器前端简介
  • 原文地址:https://www.cnblogs.com/gaozhang12345/p/6656960.html
Copyright © 2011-2022 走看看