Sobes.tech
Junior — Middle

Quais tipos de dados em Swift são tipos de referência?

sobes.tech IA

Resposta da IA

No Swift, os tipos de referência são as classes (class) e os closures (closures). Eles são armazenados no heap, e ao atribuir ou passar, uma referência ao mesmo objeto é copiada.

Os tipos primitivos, estruturas (struct) e enumerações (enum) são tipos de valor (value types), que são copiados ao serem atribuídos.

Exemplo:

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

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Vai imprimir "Пётр", pois person1 e person2 referenciam o mesmo objeto