我不明白为什么以下内容在Swift中不起作用:
class SomeClass {
var foo = 1
var bar = self.foo + 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
}