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