SALE ENDS TODAY: Save 50% on all Swift books and bundles! >>

Variables et constantes

Tout programme utile a besoin de stocker des données à un moment particulier, et en Swift il y a deux façons de le faire : en déclarant des variables ou des constantes. Une variable est une donnée mise en mémoire dont la valeur peut être modifiée à tout moment, et une constante est une donnée mise en mémoire dont la valeur est définie une seule fois et que vous ne pouvez plus jamais modifier. Ainsi, les variables ont des valeurs qui peuvent varier, et les constantes ont des valeurs qui sont constantes - facile, non ?

Avoir ces deux options peut sembler inutile, après tout, vous pouvez simplement créer une variable et ne jamais en modifier la valeur - pourquoi faut-il en faire une constante ? Eh bien, il s'avère que beaucoup de programmeurs sont - oh choc ! - loins d'être parfaits en programmation, et nous faisons tous des erreurs.

Un des avantages de séparer les constantes des variables est que Xcode nous dira si nous avons fait une erreur. Si nous disons, "fais de cette date une constante, parce que je sais qu'elle ne changera jamais", puis 10 lignes plus tard nous essayons de changer sa valeur, Xcode refusera de compiler notre application.

Les constantes sont également importantes parce qu'elles permettent à Xcode de prendre des décisions sur la façon dont il compile l'application. S'il sait qu'une valeur ne changera jamais, il est capable d'appliquer des optimisations pour rendre notre code plus rapide.

En Swift, on crée une variable en utilisant le mot-clé var, comme ceci :

var name = "Tim McGraw"

Mettons ça dans un playground pour qu'on puisse voir le résultat de ce qu'on code. Supprimons tout ce qui s'y trouve à l'exception de la ligne import UIKit (c'est ce qui va appeler le framework d'iOS qui sera nécessaire plus tard), et ajoutons cette variable. Nous devrions voir à l'écran la même chose que l'image présentée ci-dessous.

Dans les playgrounds, vous tapez votre code à gauche et voyez les résultats apparaître à droite une seconde plus tard.

Comme il s'agit d'une variable, vous pouvez changer sa valeur quand vous le voulez, mais vous ne devez pas utiliser le mot-clé var chaque fois - il est seulement utilisé lorsque vous déclarez de nouvelles variables. Tapons ceci :

var name = "Tim McGraw"
name = "Romeo"

Ainsi, la première ligne crée la variable "name" et lui donne une valeur initiale, puis la deuxième ligne met à jour la variable "name" pour que sa valeur soit maintenant "Romeo". Vous verrez les deux valeurs affichées dans la zone de résultats du playground.

Et si on avait voulu créer une constante plutôt qu'une variable ? Eh bien, les constantes utilisent le mot-clé let plutôt que var, nous pouvons donc changer notre première ligne de code pour dire let name au lieu de var name, comme ceci :

import UIKit
let name = "Tim McGraw"
name = "Romeo"

Mais maintenant il y a un problème : Xcode montre un symbole d'avertissement rouge à côté de la ligne 3, et souligne name en rouge. Si vous cliquez sur le symbole d'avertissement, Xcode vous indique le problème : "Cannot assign to 'let' value 'name'", ce qui est sa façon de vous dire que "vous essayez de changer la valeur d'une constante alors que vous ne pouvez pas le faire".

Si vous essayez de changer la valeur d'une constante en Swift, Xcode refusera de compiler votre application

Ainsi, les constantes sont un excellent moyen de promettre à Swift et à vous-même qu'une valeur ne changera pas, car si vous essayez de la changer, Xcode refusera de s'exécuter. Les développeurs en Swift ont une forte préférence pour l'utilisation des constantes chaque fois que c'est possible car cela rend le code plus facile à comprendre. En fait, dans les toutes dernières versions de Swift, Xcode vous prévient si vous créez une variable et ne la modifiez jamais !

Remarque importante : les noms des variables et des constantes doivent être uniques dans votre code. Vous obtiendrez une erreur si vous essayez d'utiliser un même nom de variable deux fois, comme ceci :

var name = "Tim McGraw"
var name = "Romeo"

Si Xcode trouve une erreur dans votre code, il la signale par un avertissement dans une case rouge ou refuse simplement de s'exécuter. Vous saurez si c'est le cas parce que le texte dans le panneau des résultats deviendra gris plutôt que son noir habituel.

SPONSORED Instabug helps you identify and resolve severe crashes quickly. You can retrace in-app events and know exactly which line of code caused the crash along with environment details, network logs, repro steps, and the session profiler. Ask more questions or keep users up-to-date with in-app replies straight from your dashboard. Instabug takes data privacy seriously, so no one sees your data but you! See more detailed features comparison and try Instabug's crash reporting SDK for free.

Save 50% on all books and bundles

The biggest ever Hacking with Swift sale is now on, letting you save 50% on all books and bundles. Learn something new with Swift and enjoy great savings while the sale lasts!

Click here to save 50% in our Black Friday sale!

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

Was this page useful? Let us know!