具有惰性属性的默认成员初始值设定项

时间:2018-01-24 20:24:31

标签: swift

如果我有一个带有惰性属性的结构,Swift希望默认的成员初始化器包含该属性,即使它不可设置。

例如:

var lazy = Lazy(id: "MINE", greeting: "goodbye")

斯威夫特要求:

print(lazy.greeting) // "hello"

但忽略了懒惰的输入:

lazy var

我是否理解这是一个Swift错误?

编辑:

正如评论者指出的那样,我认为let无法设定是错误的。但是,这似乎仍然存在不直观的语义。这样的变量一旦被访问就会有一个值。

同样地,我觉得计算var属性不包含在成员初始值设定项中,但计算出的{{1}}是。{/ p>

0 个答案:

没有答案