【发布时间】:2020-06-12 05:40:56
【问题描述】:
我已经知道private(set) 的工作原理。但是下面的代码给出了编译时错误,
class Person {
private(set) let name: String //Error.
private(set) let age: Int //Error.
init(name: String, age: Int){
self.name = name
self.age = age
}
}
错误:
'private(set)' 修饰符不能应用于只读属性
由于name 和age 不是只读属性,它不应该给出这样的错误。
如果我使用let 而不是var,它工作正常。只是想知道为什么?
【问题讨论】:
-
let定义该属性可以初始化一次,然后永远不会更改,但set定义该属性可以更改任何(多次)次。 -
let上没有像set这样的东西。let只是get。我希望你能得到。
标签: ios swift var access-modifiers let