Помню когда я был маленьким, наши родственники уехали жить в один далекий городок, расположенный на границе с Казахстаном. Так как с продуктами там было не очень, моя бабушка периодически посылала племяннику посылку с товарами, которые ей удавалось купить, отстояв большую очередь в Москве. Обычно в такую посылку входило растворимое кофе, копченая колбаса, различные дефицитные консервы, несколько банок красной икры, пастеризованное молоко. Все это обкладывалось туалетной бумагой и запечатывалось в деревянный ящик...
В Swift у нас есть ссылочные типы (классы) и типы значений (структуры, кортежи, перечисления). Типы значений имеют семантику копирования. Это означает, что если вы назначаете тип значения переменной или передаете его в качестве параметра функции (если это не параметр inout), базовые данные этого значения будут скопированы. У вас будет два значения с одинаковым содержимым, но выделенные в двух разных адресах памяти. Для более подробного объяснения разницы между типами ссылок и значений в блоге Apple или в нашей статье...