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


person Lewis Black    schedule 18.05.2017    source источник


Ответы (1)


Нет никакой разницы.

Из документация

Вы можете упростить объявление вычисляемого свойства, доступного только для чтения, удалив ключевое слово get и фигурные скобки.

person vadian    schedule 18.05.2017