我有这个带有getter和setter的swift结构代码。
newValue
的值如何进入这个setter?我不知道它是如何定义的。
struct Program {
var allResults : [String] = []
var items: Int {
get {
return allResults.count
}
set {
let result = String(newValue * 100) // what's that newValue, how did it get there?
allResults.append(result)
}
}
答案 0 :(得分:3)
它被称为速记设定者声明。
引自Swift 3书:
如果计算属性的setter没有为new定义名称 要设置的值,使用默认名称newValue。
如果您希望获得更好的可读格式,可以使用:
...
set (newItems) { //add your own variable named as you like
let result = String(newItems * 100)
allResults.append(result)
}
...