【问题标题】:initialize Swift Class variables in declaration or with init?在声明中或使用 init 初始化 Swift 类变量?
【发布时间】:2014-11-26 09:58:35
【问题描述】:

在 Swift 中,您可以在声明变量时在类中初始化变量:

var name: String = "John"

或者您可以使用 init 进行初始化:

var name: String

init(name: String) {
   self.name = name
}

您使用哪个版本以及何时使用?

【问题讨论】:

    标签: class swift init


    【解决方案1】:

    除非您将初始值作为初始值设定项参数提供(出于显而易见的原因您必须在初始值设定项中这样做),否则您可以使用两种方式中的任何一种。

    我的规则是:

    • 如果有多个初始化器,并且在所有情况下都使用相同的值初始化属性,我更喜欢内联初始化
    • 如果属性是(或应该是)不可变的,我更喜欢内联初始化
    • 如果属性可以在实例生命周期内改变,我更喜欢构造函数初始化

    不过除了第一个以外,其他两个只是个人喜好。

    【讨论】:

    • 感谢 Antonio - 这对您有很大帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多