Designated Initializers(指定构造器)
Convenience Initializers(便捷构造器)
1、Struct 没有设置构造函数时,会默认有一个 Memberwise Initializers(逐一函数)。
2、给存储型类型属性赋默认值或在初始构造器中设置初始值时,此属性的属性观察者不会被调用。
3、构造器的第一个内部参数名也会默认作为其外部参数名供调用,这点与其他函数不同。
4、在初始化一个类、结构体、枚举时,调用其构造方法,也仅仅是调用构造方法。
5、构造器代理:可以在构造方法里应用本类的其他构造方法。
6、在结构体(Struct)的扩展里写自定义构造器,不会覆盖系统默认的Memberwise Initializers,但是如果未卸载扩展里面,则会覆盖。
7、指派构造函数初始化时,应先将自身的属性对象赋值,然后再调用父类的指派构造函数。
8、便利构造器,只能在Class中使用
9、复写默认init方法,之前标注private,只能对非当前文件有效,在当前文件中,如extension中,依旧可以调用该init方法