gpt4 book ai didi

swift - 为什么它被称为 Memberwise Initializers

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:32 24 4
gpt4 key购买 nike

引自office Swift Document

All structure have an automatically-generated memberwise initializer, which you can use to initialize the member properties of new structure instances ...

问题一:默认初始化器有什么特别之处,为什么不能简单的称为默认初始化器呢?为什么要添加“memberwise”?是不是因为它列出了结构中定义的所有成员属性。并且在创建实例时还必须遵循 Structure 中定义的顺序。

问题2 有没有其他特殊的初始化器有自己特殊的名字?如果是这样,它们看起来像什么。

[注释第一部分:]与瓦迪安先生进一步讨论

enter image description here

[注意第二部分:]

enter image description here

最佳答案

关于问题1:

Swift 中有一条不可撤销的定律:

Classes and structures must set all of their stored properties to an appropriate initial value by the time an instance of that class or structure is created. Stored properties cannot be left in an indeterminate state.

我们正在谈论结构:

创建结构时,如果所有属性都有默认值,您可以使用默认初始化程序(括号对)。

如果您只是声明没有默认值的属性,编译器会创建一个隐式成员初始化——您必须使用它——以确保分配默认值以非常方便的方式到每个属性

关于swift - 为什么它被称为 Memberwise Initializers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38001021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com