


Используйте инициализатор repeating:count: от Array:
var timetable = Array(repeating: [MyObject](), count: 7)
В этом случае вы больше не можете полагаться на инициализатор, созданный компилятором, вам придется реализовать init(from decoder: Decoder) самостоятельно. Я обновлю свой ответ.
Да ладно, это я сделал ошибку, меняя не во всех местах. Ваше решение отлично работает
Нет, при декодировании JSON, если у меня есть только один элемент, он дает счет 1