Разница между вычисляемым свойством и набором свойств с замыканием в Swift 3?
Я прочитал этот ( Разница между вычисляемым свойством и набором свойств с замыканием) полезный вопрос, но он не полностью отвечает на то, что я хотел бы знать.
Это отвечает на разницу между:
//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?
1 ответ
Решение
Нет никакой разницы.
Из документации
Вы можете упростить объявление вычисляемого свойства только для чтения, удалив
get
Ключевое слово и его фигурные скобки.