Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech AI
Antwoord van AI
In iOS worden objecten in programma's meestal op de volgende manieren doorgegeven:
-
Per referentie: klasse-objecten worden per referentie doorgegeven, dat wil zeggen dat er een pointer naar het object in het geheugen wordt doorgegeven. Wijzigingen aan het object in een deel van het programma worden overal weerspiegeld waar er een verwijzing naar dat object is.
-
Per waarde: structs en enumeraties in Swift worden per waarde doorgegeven, dat wil zeggen dat ze worden gekopieerd bij het doorgeven.
-
Via delegates en closures: objecten kunnen worden doorgegeven via delegates (protocollen) of closures voor callbacks en gegevensoverdracht tussen componenten.
Voorbeeld van het doorgeven van een object per referentie:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Nieuwe naam"
}
let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Zal "Nieuwe naam" tonen