Sobes.tech
Junior — Middle

Какими способами осуществляется передача объектов в программе?

sobes.tech AI

Odpověď od AI

V iOS jsou objekty obvykle předávány v programech následujícími způsoby:

  • Pomocí odkazu: objekty tříd jsou předávány odkazem, tj. předává se ukazatel na objekt v paměti. Změny v objektu v jedné části programu se odrážejí všude, kde je odkaz na tento objekt.

  • Podle hodnoty: struktury a výčty ve Swiftu jsou předávány podle hodnoty, tj. kopírují se při předání.

  • Přes delegáty a uzávěry: objekty mohou být předávány přes delegáty (protokoly) nebo uzávěry pro zpětné volání a přenos dat mezi komponentami.

Příklad předání objektu odkazem:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

func changeName(person: Person) {
    person.name = "Nové jméno"
}

let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Vypíše "Nové jméno"