web-dev-qa-db-fra.com

Swift a-t-il quelque chose comme le mot-clé "ref" qui force le paramètre à être passé par référence?

Dans Swift, les structures et les types de valeurs sont transmis par valeur par défaut, tout comme en C #. Mais C # a également un mot-clé ref très utilisable, qui force le paramètre à être passé par référence, de sorte que la même instance pourrait être modifiée à l'intérieur de la fonction et accessible par la suite à partir de la portée de l'appelant. Existe-t-il un moyen d'obtenir le même résultat dans Swift?

52
Max Yankov

Utilisez le qualificatif inout pour un paramètre de fonction.

func swapTwoInts(a: inout Int, b: inout Int) {
    let temporaryA = a
    a = b
    b = temporaryA
}

swapTwoInts(&someInt, &anotherInt)

Voir Paramètres de fonction et valeurs de retour dans la documentation.

87
rickster