swift 自定义UIView构造函数

2019-12-18  本文已影响0人  ClementGu

swift 自定义初始化构造函数有点麻烦 上代码

  private lazy var targetType:TagTarget = {
        let name = TagStyle.tagStyle_green
        return name
    }()
  
    
  private  lazy var contentLabel:UILabel = {
        let name = UILabel()
        name.text = "准备中"
        return name
    }()   
  
    convenience init(style:TagTarget) {
    self.init(frame:CGRect.zero)
        targetType = style
        setUpView()
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
  • 成员成员变量必须要赋值初始值,不然会报没有初始化成员变量的错误 可以用懒加载 也可以用隐式拆包设置默认值
  • 重写系统初始化方法 override init(frame: CGRect)
  • 在自定义方法里面self. 调用系统方法 然后调用自己的操作

前缀能写就尽量写吧,你写的越精确swift的性能越高,也不枉官网吹就说swift是为研究高性能代码的最终结果,在这里又想说一句它的性能确实高,我在爬数据的时候8万多条数据从掉接口到生成就几秒钟,OC是万万比不上的
比较麻烦 还是要吐槽一下的,OC里面就方便多了直接加参数

上一篇下一篇

猜你喜欢

热点阅读