美文网首页Swift 相关
Swift 中的初始化方法

Swift 中的初始化方法

作者: 大成小栈 | 来源:发表于2019-10-21 16:33 被阅读0次
class ViewControllerT: UIViewController {
    init(){
        super.init(nibName: nil, bundle: nil)
        self.view.backgroundColor = UIColor.red
    }
    init(name : String ,age : Int) {
        super.init(nibName: nil, bundle: nil)
        self.view.backgroundColor = UIColor.blue
        print(name,age);
    }
    convenience init(name : String) {
        self.init(name: "豆豆", age: 1)
        self.view.backgroundColor = UIColor.orange
        print(name);
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
 
 
//调用方式
var base1 = ViewControllerT()
var base2 = ViewControllerT.init(name: "豆豆", age: 18)
var base3 = ViewControllerT.init(name: "豆豆")
  • required关键字
    如果有required修饰的designated init方法,就表示子类一定要实现该init方法,强制子类重写该方法。
  • convenience关键字
    convenience修饰init方法的作用是增加便捷的init方法。convenience init方法必须调用本类中 的designated初始化方法完成初始化设置,且convenience的初始化方法不能被子类重写或者是从子类中以super的方式被调用

相关文章

网友评论

    本文标题:Swift 中的初始化方法

    本文链接:https://www.haomeiwen.com/subject/vaqtvctx.html