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