在swift中引用全局变量中的另一个变量

时间:2015-08-13 14:57:31

标签: swift

我不明白为什么以下内容在Swift中不起作用:

class SomeClass {
    var foo = 1
    var bar = self.foo + 1
}

它的方法是什么?

1 个答案:

答案 0 :(得分:1)

它不起作用,因为您无法在该范围内使用self来定义属性的默认值。我相信这是因为在正确初始化对象之前你不能使用self。您可以使用显式初始化程序。

class SomeClass {
    var foo: Int
    var bar: Int

    init() {
        self.foo = 1
        self.bar = self.foo + 1
    }
}

但是,您可以访问静态成员。

class SomeClass {
    static let initialValue = 1
    var foo = initialValue
    var bar = initialValue + 1
}