getter 计算属性和返回值的变量之间有区别吗?例如,以下两个变量之间有区别吗?
var NUMBER_OF_ELEMENTS1: Int {
return sampleArray.count
}
var NUMBER_OF_ELEMENTS2: Int {
get {
return sampleArray.count
}
}
getter 计算属性和返回值的变量之间有区别吗?例如,以下两个变量之间有区别吗?
var NUMBER_OF_ELEMENTS1: Int {
return sampleArray.count
}
var NUMBER_OF_ELEMENTS2: Int {
get {
return sampleArray.count
}
}
具有 getter 和 setter 的计算机属性具有以下形式:
var computedProperty: Int {
get {
return something // Implementation can be something more complicated than this
}
set {
something = newValue // Implementation can be something more complicated than this
}
}
在某些情况下不需要 setter,因此计算属性声明为:
var computedProperty: Int {
get {
return something // Implementation can be something more complicated than this
}
}
请注意,计算属性必须始终有一个 getter - 所以不可能只用一个 setter 来声明一个。
由于经常发生计算属性只有一个 getter,Swift 让我们通过省略get
块来简化它们的实现,使代码更易于编写和阅读:
var computedProperty: Int {
return something // Implementation can be something more complicated than this
}
从语义上讲,这两个版本之间没有区别,因此无论您使用哪个版本,结果都是一样的。
它们是相同的,因为它们都定义了一个只读的计算属性。但前者更可取,因为它比后者更短且更具可读性。