Junior — Middle
Que outros tipos de dados, além das classes, são considerados tipos de referência na linguagem de programação?
sobes.tech IA
Resposta da IA
Na linguagem Swift, além das classes, os tipos de referência incluem:
- Fechos (Closures) — funções que podem capturar e manter referências às variáveis do contexto circundante.
- Funções — em Swift, as funções são tipos de referência.
- Alguns tipos de Objective-C, como objetos Foundation (NSString, NSArray, etc.) — são implementados como classes e são tipos de referência.
Ao contrário das estruturas e enumerações, que são tipos de valor, os tipos de referência são passados por referência, ou seja, ao serem atribuídos ou passados para uma função, uma referência ao mesmo objeto é copiada, não uma cópia do objeto.
Exemplo:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Alice")
let person2 = person1
person2.name = "Bob"
print(person1.name) // Vai imprimir "Bob", pois person1 e person2 referenciam o mesmo objeto