Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech AI
Risposta dell'AI
In iOS, gli oggetti vengono generalmente trasmessi nei programmi nei seguenti modi:
-
Per riferimento: gli oggetti di classe vengono trasmessi per riferimento, cioè viene passato un puntatore all'oggetto in memoria. Le modifiche all'oggetto in una parte del programma si riflettono ovunque ci sia un riferimento a quell'oggetto.
-
Per valore: le strutture e le enumerazioni in Swift vengono trasmesse per valore, cioè vengono copiate al momento della trasmissione.
-
Attraverso delegati e closure: gli oggetti possono essere trasmessi tramite delegati (protocollo) o closure per chiamate di ritorno e trasferimento di dati tra componenti.
Esempio di trasmissione di un oggetto per riferimento:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Nuovo nome"
}
let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Mostrerà "Nuovo nome"