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"