Основы Swift / 5.1. Типы-коллекции


Видео


Типы-коллекции
Swift предоставляет три первичных типа коллекций, известных как массивы, множества и словари для хранения коллекций данных. Массивы - сортированные коллекции значений. Множества - несортированные коллекции уникальных значений. Словари - это несортированные коллекции пар ключ-значение.

Массивы, множества и словари в Swift всегда прозрачны относительно типов значений и ключей, которые они могут хранить. Это значит, что Вы не сможете вставить значение неверного типа в коллекцию по ошибке. Это также значит, что Вы можете быть уверены насчёт типа значений, получаемых из коллекции.
Мутабельность коллекций
Если Вы создаёте массив, множество или словарь и присваиваете его переменной, то создаваемая коллекция будет мутабельной. Это значит, что Вы можете изменять (или мутировать) коллекцию после её создания путём добавления, удаления или изменения элементов в коллекции. Если Вы присваиваете массив, множество или словарь константе, то коллекция иммутабельна, то его размер и контент не могут быть изменены.

Является хорошей практикой создавать иммутабельные коллекции во всех случаях, когда коллекции не имеют нужды изменяться. Следование этому правилу делает более простым для Вас понимание Вашего кода и позволяет компилятору Swift оптимизировать производительность для создаваемых Вами коллекций.

Для чего мы описали этот пример? Во многих других языках, включая Objective-C, мутабельность коллекций зависит от выбираемого типа коллекции или контекста. В Swift все изначальные типы данных имеют мутабельность или иммутабельность в зависимости от того, заданы ли величины этих коллекций как константы или как переменные. Это унифицирует подход ко всем типам данных.