Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech MI
Válasz az MI-től
iOS-ben az objektumokat általában a következő módokon adják át a programokban:
-
Hivatkozással: osztályobjektumokat hivatkozással adnak át, vagyis egy mutatót adnak át a memóriában az objektumra. A program egyik részében végzett módosítások mindenhol megjelennek, ahol van hivatkozás erre az objektumra.
-
Érték szerint: a Swiftben a struktúrák és az enumerációk érték szerint kerülnek átadásra, vagyis másolat készül az átadás során.
-
Delegátokon és zárványokon keresztül: az objektumokat delegátokon (protokollokon) vagy zárványokon keresztül lehet átadni a komponensek közötti visszahívásokhoz és adatátvitelhez.
Példa az objektum hivatkozással történő átadására:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Új név"
}
let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // "Új név"-t fog kiírni