Sobes.tech
Junior

Avec quels types de données peut-on utiliser des références en Swift?

sobes.tech IA

Réponse de l'IA

En Swift, les références (par adresses) sont utilisées avec :

  1. Classes (Classes) : Les instances de classes sont des types de référence. Lorsqu'une instance de classe est assignée à une variable ou constante, la référence à l'objet est copiée, pas l'objet lui-même.
  2. Closures (Fermetures) : La capture de variables dans une fermeture se fait par référence.
  3. Actors (Acteurs) : Les instances d'acteurs sont également des types de référence.
  4. Certains types système : Par exemple, AnyObject, NSObject et les types du ensemble Core Foundation (comme CFString).
  5. Paramètres d'entrée/sortie (inout) : Permettent de passer des variables à une fonction par référence, afin que la fonction puisse modifier leur valeur.
// Exemple avec une classe
class MyClass {
    var value = 10
}

let instance1 = MyClass()
let instance2 = instance1 // instance2 référence au même objet
instance2.value = 20
print(instance1.value) // Affichera 20

// Exemple avec inout
func modifyValue(value: inout Int) {
    value = value * 2
}

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

Les structures, énumérations et tuples sont des types de valeur, et lors de l'assignation ou du passage, leur contenu est copié, pas la référence.