Sobes.tech
Junior

Com que tipos de dados é possível usar referências em Swift?

sobes.tech IA

Resposta da IA

Em Swift, as referências (para endereços) são usadas com:

  1. Classes (Classes): As instâncias de classes são tipos de referência. Quando uma instância de classe é atribuída a uma variável ou constante, a referência ao objeto é copiada, não o objeto em si.
  2. Closures (Fechos): A captura de variáveis em um fecho é feita por referência.
  3. Atores (Actors): As instâncias de atores também são tipos de referência.
  4. Alguns tipos do sistema: Por exemplo, AnyObject, NSObject e tipos do conjunto Core Foundation (como CFString).
  5. Parâmetros de entrada/saída (inout): Permitem passar variáveis para uma função por referência, para que a função possa modificar seu valor.
// Exemplo com classe
class MyClass {
    var value = 10
}

let instance1 = MyClass()
let instance2 = instance1 // instance2 referencia ao mesmo objeto
instance2.value = 20
print(instance1.value) // Mostrará 20

// Exemplo com inout
func modifyValue(value: inout Int) {
    value = value * 2
}

var myInt = 5
modifyValue(value: &myInt)
print(myInt) // Mostrará 10

Estruturas, enumerações e tuplas são tipos de valor, e ao atribuir ou passar, seu conteúdo é copiado, não a referência.