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