Sobes.tech
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"