引用自办公室 Swift 文档 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ClassesAndStructures.html#//apple_ref/doc/uid/TP40014097-CH13-ID82
所有结构都有一个自动生成的成员初始化器,您可以使用它来初始化新结构实例的成员属性...
问题1:默认初始化器有什么特别之处,为什么不能简单地称为默认初始化器?为什么要加上“memberwise”呢?是因为它列出了Structure.txt中定义的所有成员属性吗?创建实例时还必须遵循结构内部定义的顺序。
问题2是否还有其他特殊的初始化程序有自己的特殊名称?如果是这样,它们是什么样子的。
[注第一部分:] 与 Vadian 先生进一步讨论
[注意第二部分:]
关于问题1:
Swift 中有一条不可撤销的法则:
班级和结构必须在该类的实例出现时将其所有存储的属性设置为适当的初始值或结构被建造。存储的属性不能处于不确定状态。
我们正在谈论structs:
当创建一个struct you can使用默认初始化程序(一对括号)如果所有属性都有默认值。
如果您只是声明没有默认值的属性,编译器会创建一个隐式的成员初始化器– 你哪个have touse – 确保以非常方便的方式为每个属性分配默认值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)