Sobes.tech
Junior — Middle

Aké dátové typy v Swift sú referenčné typy?

sobes.tech AI

Odpoveď od AI

V jazyku Swift sú referenčné typy triedy (class) a uzávery (closures). Ukladajú sa na haldu a pri priraďovaní alebo odovzdaní sa kopíruje odkaz na ten istý objekt.

Primitívne typy, štruktúry (struct) a enumy (enum) sú hodnotové typy (value types), ktoré sa kopírujú pri priraďovaní.

Príklad:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Vytlačí "Пётр", pretože person1 a person2 odkazujú na ten istý objekt