Значение сохраненных свойств и вычисляемых свойств в Swift

В моей программе есть вычисляемое свойство computedArray и сохраненное свойство storedArray, оба из которых получают значения из DataController.shared.updateArray(withCurrentTimestamp: DataController.currentTimestamp)
Значение currentTimestamp меняется со временем, но когда я распечатываю DataController.shared.computedArray и DataController.storedArray, результат DataController.shared.computedArray меняется на currentTimestamp, в то время как DataController.storedArray никогда не меняется. в чем причина этого?

struct DataController {

    static let shared = DataController()

    var computedArray: [TimeInterval] {
        get {
            DataController.shared.updateArray(withCurrentTimestamp: DataController.currentTimestamp)
        }
    }
    
    static var storedArray = DataController.shared.updateArray(withCurrentTimestamp: DataController.currentTimestamp)

}

person P.H.    schedule 19.11.2020    source источник
comment
storedArray вычисляется только один раз, а computedArray вычисляется каждый раз, когда вы к нему обращаетесь.   -  person Olha    schedule 19.11.2020
comment
Следует также отметить, что массивы являются типами значений, что означает, что каждый раз, когда вы обновляете массив, он создает и возвращает новый массив. Это означает, что хотя вы получаете общий массив в вычисляемой переменной, вы все равно возвращаете новый массив. Общий массив остается неизменным.   -  person kbunarjo    schedule 19.11.2020