Sobes.tech
Junior — Middle

Какими способами осуществляется передача объектов в программе?

sobes.tech AI

Odpowiedź od AI

W iOS obiekty są zwykle przekazywane w programach w następujący sposób:

  • Przez odniesienie: obiekty klasowe są przekazywane przez odniesienie, czyli przekazywany jest wskaźnik do obiektu w pamięci. Zmiany w obiekcie w jednej części programu odzwierciedlają się wszędzie tam, gdzie istnieje odniesienie do tego obiektu.

  • Przez wartość: struktury i wyliczenia w Swift są przekazywane przez wartość, czyli są kopiowane podczas przekazywania.

  • Przez delegaty i zamknięcia: obiekty mogą być przekazywane przez delegaty (protokoły) lub zamknięcia do wywołań zwrotnych i przekazywania danych między komponentami.

Przykład przekazywania obiektu przez odniesienie:

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

func changeName(person: Person) {
    person.name = "Nowa nazwa"
}

let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Wyświetli "Nowa nazwa"