Junior — Middle
Какими способами осуществляется передача объектов в программе?
sobes.tech IA
Resposta da IA
No iOS, os objetos geralmente são transmitidos nos programas das seguintes maneiras:
-
Por referência: objetos de classes são transmitidos por referência, ou seja, um ponteiro para o objeto na memória é passado. As alterações no objeto numa parte do programa refletem-se em todos os locais onde há uma referência a esse objeto.
-
Por valor: estruturas e enumerações em Swift são transmitidas por valor, ou seja, são copiadas ao serem passadas.
-
Através de delegados e closures: objetos podem ser transmitidos através de delegados (protocolos) ou closures para chamadas de retorno e transferência de dados entre componentes.
Exemplo de transmissão de um objeto por referência:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func changeName(person: Person) {
person.name = "Nome novo"
}
let p = Person(name: "Ivan")
changeName(person: p)
print(p.name) // Vai mostrar "Nome novo"