Swift-Initialization 学习简记
1、存储属性初始赋值:构造器中赋值、默认属性值(推荐) 5、两段式构造过程 4种有效的安全检查:1、指定构造器必须保证它所在类引入的所用属性都必须完成初始化,之后才能将其他构造任务向上代理给父类中的构造器;2、指定构造器必须先向上代理父类构造器,然后再为集成的属性设置新值。如果没有这样,指定构造器中设置的新值将被父类中的构造器所覆盖;3、便利构造器必须先代理调用同一类中的其他构造器,然后再为任意属性赋新值。如果没这么做,便利构造器赋的新值将被同一类中其他指定构造器所覆盖;4.构造器在第一阶段构造完成之前,不能调用任何实例方法,不能读取任何实例属性的值,不能引用self作为一个值。类实例在第一阶段结束以前并不是完全有效的。只有第一阶段完成后,该实例才会成为有效实例,才能访问属性和调用方法。 6、构造器的继承和重写 6.1 构造器的自动继承 规则1:如果子类没有定义任何指定构造器,它将自动继承所有父类的指定构造器。 规则2:如果子类提供了所有父类指定构造器的实现——无论是通过规则 1 继承过来的,还是提供了自定义实现——它将自动继承所有父类的便利构造器。 注意 对于规则 2,子类可以将父类的指定构造器实现为便利构造器。 7、可失败构造器init? 8、构造失败的传递 9、重写可失败构造器 10、可失败构造器init! 11、必要构造器 required 12、通过闭包或函数设置属性的默认值。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |