我可以为stored property
赋予一个值,这取决于Swift 2.0中另一个的价值?
以下代码提供错误说明:
Something.Type没有名为' foo'
的成员
class Something {
let foo = "bar"
let baz = "\(foo) baz"
}
这很奇怪,因为Something.Type
肯定有一个名为foo的成员。
有解决方法吗?
答案 0 :(得分:4)
在swift有机会知道baz
属于foo
的属性之前,您似乎尝试初始化变量Something
。将初始化放在init
构造函数中。
class Something {
let foo: String
let baz: String
init () {
foo = "bar"
baz = "\(foo) baz"
}
}
答案 1 :(得分:2)
您也可以使用lazy
初始化,但现在必须将其变为变量:
class Something {
let foo = "bar"
lazy var baz = { "\(self.foo) baz" }()
}