struct Boxes {
var array: [Int] {
get { return [a, b, c] }
set { (a, b, c) = (newValue[0], newValue[1], newValue[2]) }
}
var (a, b, c) = (0, 0 ,0)
}
Обратите внимание, что оно основано на этом предложении: массив фиксированного размера с 3 элементами
Точно такое же использование:
var box = Boxes()
box.a = 1
box.b = box.array[0]
box.array[0] = 2
box.b = box.a
Дополнительно:
Вы можете добавить пользовательский инициализатор, если хотите инициализировать с массивом:
init(array: [Int] = [0, 0, 0]) {
self.array = array
}