如何在结构中使用setter的值进行操作?

时间:2016-09-03 12:06:56

标签: swift struct getter-setter

我有这个带有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)    
    }
}

1 个答案:

答案 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)
}    
...