2016-09-03 3 views
3

У меня есть этот код быстрой структуры с геттером и сеттером. Как это значение newValue попало внутрь этого сеттера? Я не знаю, как это было определено.Как можно работать со значением setter в structs?

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)  
    } 
} 

ответ

3

Это называется Shorthand сеттер Декларация.

Цитируется из Swift 3 книги:

Если сеттер вычисленного ресурса не определить имя для нового значения быть установлен, используется имя NEWVALUE по умолчанию.

Если вы хотели бы иметь более читаемый формат, вы можете использовать это:

... 
set (newItems) { //add your own variable named as you like 
    let result = String(newItems * 100) 
    allResults.append(result) 
}  
... 
+0

Спасибо @pedrouan за быстрый ответ – GiorgioE

Смежные вопросы