Разница между вычисляемым свойством и набором свойств с замыканием в 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 Ключевое слово и его фигурные скобки.

Другие вопросы по тегам