Sobes.tech
Junior — Middle

Môžeš vymenovať rôzne typy odkazov v jazyku Swift?

sobes.tech AI

Odpoveď od AI

V jazyku Swift sú referenčné typy typy, ktorých objekty sa prenášajú referenciou, nie hodnotou. Hlavné referenčné typy vo Swift:

  • Triedy (class) — hlavný referenčný typ. Objekt triedy sa vytvára na halde a premenné ukladajú referencie na ne.
  • Funkcie (closures) — uzávery vo Swift sú tiež referenčné typy, pretože môžu zachytiť a uložiť referencie na vonkajšie premenné.

Na rozdiel od tried sú štruktúry (struct) a enumy (enum) hodnotové typy.

Príklad triedy:

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