Я прочитал это (Разница между вычисляемым свойством и набором свойств с закрытием) полезный вопрос, но он не дает полного ответа на то, что я хотел бы знать.
Он отвечает на разницу между:
//closure
var pushBehavior: UIPushBehavior = {
let lazilyCreatedPush = UIPushBehavior()
lazilyCreatedPush.setAngle(50, magnitude: 50)
return lazilyCreatedPush
}()
и
//computed
var pushBehavior: UIPushBehavior {
get{
let lazilyCreatedPush = UIPushBehavior()
lazilyCreatedPush.setAngle(50, magnitude: 50)
return lazilyCreatedPush
}
}
Я это поняла. Теперь, если мы изменим первую, в чем разница между вычисляемой переменной во втором примере и этой:
var pushBehavior: UIPushBehavior {
let lazilyCreatedPush = UIPushBehavior()
lazilyCreatedPush.setAngle(50, magnitude: 50)
return lazilyCreatedPush
}
Для меня это действует точно так же, как get{}, но без ключевого слова get. Так ли это, и если да, то почему у нас есть ключевое слово get?