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"