Sobes.tech
Junior — Middle

Czy możesz wymienić różne typy referencji w języku Swift?

sobes.tech AI

Odpowiedź od AI

W Swift typy referencyjne to typy, których obiekty są przekazywane przez referencję, a nie przez wartość. Główne typy referencyjne w Swift:

  • Klasy (class) — główny typ referencyjny. Obiekty klas są tworzone na stercie, a zmienne przechowują odwołania do nich.
  • Funkcje (closures) — zamknięcia w Swift są również typami referencyjnymi, ponieważ mogą przechwytywać i przechowywać odwołania do zewnętrznych zmiennych.

W przeciwieństwie do klas, struktury (struct) i wyliczenia (enum) są typami wartości.

Przykład klasy:

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

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Wyświetli "Пётр", ponieważ person1 i person2 odwołują się do tego samego obiektu