Sobes.tech
Junior — Middle

Můžeš vyjmenovat různé typy odkazů v jazyce Swift?

sobes.tech AI

Odpověď od AI

V jazyce Swift jsou referenční typy typy, jejichž objekty jsou předávány odkazem, nikoli hodnotou. Hlavní referenční typy ve Swift:

  • Třídy (class) — hlavní referenční typ. Objekt třídy je vytvořen na haldě a proměnné uchovávají odkazy na ně.
  • Funkce (closures) — uzávěry ve Swift jsou také referenční typy, protože mohou zachytit a uložit odkazy na vnější proměnné.

Na rozdíl od tříd jsou struktury (struct) a výčty (enum) hodnotové typy.

Příklad třídy:

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

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Vytiskne "Пётр", protože person1 a person2 odkazují na stejný objekt