swift3.0|swift3.0 - 便利构造函数

  • 条件判断,只有满足条件,才实例化对象,可以防止造成不必要的内存开销
  • 简化对象的创建
  • 本身不负责属性的创建和初始化工作
  • 默认情况下,所有的构造方法都是指定构造函数
  • convenience关键字修饰的构造方法就是便利构造函数
  • 便利构造函数的特点
    • 可以返回nil
    • 只有便利构造函数中可以调用 self.init()
    • 便利构造函数不能被重写或者 super
    • 主要用于条件监测或者简化对象的创建
import UIKitextension UITextField { convenience init(frame: CGRect,placeholder:String,fontSize:CGFloat) { //实例化当前对象 self.init(frame:frame) //访问属性 self.borderStyle = .roundedRect self.placeholder = placeholder self.font = UIFont.systemFont(ofSize: fontSize) }}

    推荐阅读