Я хотел бы, чтобы мой класс имел хранимое свойство, которому можно назначить неизменяемые массивы. Если я это сделаю:
class MyClass{
var myItems:[String]
}
Я могу назначить разные массивы для моего свойства, но массивы будут изменчивыми. Если я это сделаю:
class MyClass{
let myItems:[String]
}
Мой массив неизменен, но я никогда не могу изменить назначенное ему значение. Есть ли способ, чтобы мой торт не мутировал его тоже?
Самое лучшее, что я придумал, это создать оболочку вокруг массива, а затем использовать этот тип для свойства, например:
class MyClass{
struct ImmutableWrapper{
let array:[String]
}
var myItems:ImmutableWrapper
}
... который не совсем изящный.