这可能听起来很蠢,但我无法弄清楚为什么程序员在Swift中声明变量如下所示:
为什么使用关键字“get”?为什么没有“set”?我认为我们应该像这样使用它们:
class Person: NSObject {
var name: String { get }
}
为什么使用关键字“get”?为什么没有“set”?我认为我们应该像这样使用它们:
class Person: NSObject {
var name: String {
get {
// getter
}
set {
// setter
}
}
}
这可能是一个垃圾问题,但我对{ get }的理论定义很感兴趣。
var foo: String { get { return "bar" } }
(可以缩写为var foo: String { return "bar" }
)声明了一个没有 setter 的计算属性。你的第二个例子是一个既有 getter 又有 setter 的计算属性。 - Rob