Sobes.tech
Junior

Šta tačno čuva promenljiva kada kreiramo objekat tipa value?

sobes.tech АИ

Одговор од АИ

Када креирамо објекат типа вредност (структура, енаум, кортеж у Swift-у), променљива чува копију података тог објекта директно у меморији. Присвајање или пренос таквог објекта као параметра доводи до копирања његовог садржаја.

Примери:

struct Point {
    var x: Int
    var y: Int
}

var p1 = Point(x: 1, y: 2) // Променљива p1 чува копију података (x=1, y=2)
var p2 = p1              // p2 добија копију података p1. То су независне копије.

p1.x = 10                // Модификује се само p1.x
print(p2.x)              // Исписаће 1, јер p2 се није променио

Упоређење са референтним типом (класа):

Карактеристика Тип вредности (структура, енаум) Тип референтне (класа)
Шта се чува у променљивој Копија података објекта Референца на објекат у меморији
Присвајање / Пренос Копија података Копија референце (показује на исти објекат)
Промена Утиче само на тренутну копију Утиче на објекат на који указује референца (може утицати и на друге променљиве које реферишу на исти објекат)