Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech AI
Răspuns de la AI
În iOS, obiectele sunt de obicei transmise în programe în următoarele moduri:
-
Prin referință: obiectele de clasă sunt transmise prin referință, adică se transmite un pointer către obiect în memorie. Modificările aduse obiectului într-o parte a programului se reflectă peste tot unde există o referință la acel obiect.
-
Prin valoare: structurile și enumerările în Swift sunt transmise prin valoare, adică sunt copiate la transmitere.
-
Prin delegați și closures: obiectele pot fi transmise prin delegați (protocoale) sau closures pentru callback-uri și transfer de date între componente.
Exemplu de transmitere a unui obiect prin referință:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Nume nou"
}
let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Va afișa "Nume nou"