[英]Stored properties in Swift can't refer to each other?
为什么我不能给依赖于Swift 2.0中另一个stored property
值的stored property
值的原因是什么?
下面的代码给出了一个错误信息:
Something.Type没有名为'foo'的成员
class Something {
let foo = "bar"
let baz = "\(foo) baz"
}
这很奇怪,因为Something.Type
确实有一个名为foo的成员。
有没有解决的办法?
看来您正在尝试初始化变量baz
,而swift才有机会知道foo
是Something
的属性。 将您的初始化放入init
构造函数中。
class Something {
let foo: String
let baz: String
init () {
foo = "bar"
baz = "\(foo) baz"
}
}
您还可以使用lazy
初始化,但现在必须将其设置为变量:
class Something {
let foo = "bar"
lazy var baz = { "\(self.foo) baz" }()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.