Fork me on GitHub

Swift 之 init 构造方法

在我们刚刚接触 Swift 时,可能会遇到 init 构造方法 的各种坑,各种报错,那么 Apple 为什么要这样做呢?难道是无聊虐开发者吗?当然不是,其实我们在使用 Objective-C 编码时,对于新手来说太多坑了,比如:在 init 中调各种方法,访问各种属性等,在 Objective-C 中其实 Apple 是不推荐在 init 中访问属性的,因为此时可能部分属性根本没有初始化,可能导致一系列的问题存在。到了 Swift 时,Apple 做了强制措施,彻底解决类似的问题。

AppleSwift 中的 init 方法做各种限制的终极目标就是为了 保证使用者不关使用什么方式创建对象,均保证在初始化完成前所有的属性都被初始化,明白这目的时,对 Swiftinit 就比较好理解了,具体的可以参考下面的文章,就不再一一分析了哈,逃.

参考

- END -
关注微信公众号,发现更多精彩

文章作者:梁大红

特别声明:若无特殊声明均为原创,转载请注明,侵权请联系

版权声明:署名-非商业性使用-禁止演绎 4.0 国际