Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech AI
Atsakymas iš AI
iOS dažnai objektai perduodami programose šiais būdais:
-
Per nuorodą: klasės objektai perduodami per nuorodą, tai yra perduodamas nuorodos į objektą atmintyje rodiklis. Pakeitimai objekte vienoje programos dalyje atsispindi visur, kur yra nuoroda į tą objektą.
-
Per vertę: Swift struktūros ir išvardijimai perduodami per vertę, tai yra kopijuojami perduodant.
-
Per delegatus ir uždarymus: objektai gali būti perduodami per delegatus (protokolus) arba uždarymus, skirtus grįžtiniams iškvietimams ir duomenų perdavimui tarp komponentų.
Pavyzdys, kaip perduoti objektą per nuorodą:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Naujas vardas"
}
let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Išves "Naujas vardas"