NEW: Learn SwiftUI with my free YouTube video series! >>

< Previous: Boucles   Next: Les fonctions >

Switch case

Vous avez vu les instructions if et juste avant les boucles, mais Swift utilise également un autre type de contrôle du flux d'exécution de votre code appelé switch/case. Pensez à cela comme à une forme avancée de if, car vous pouvez avoir beaucoup de conditions à vérifier et Swift exécutera celle qui est vraie.

Dans la forme la plus élémentaire d'un switch/case, vous indiquez à Swift quelle variable vous souhaitez vérifier, puis fournissez une liste des cas possibles pour cette variable. Swift trouvera le premier cas qui correspond à la valeur de votre variable, puis exécutera le bloc de code associé. Lorsque l'exécution est terminée, Swift quitte le bloc switch/case.

Voici un exemple simple :

let liveAlbums = 2

switch liveAlbums {
case 0:
    print("You're just starting out")

case 1:
    print("You just released iTunes Live From SoHo")

case 2:
    print("You just released Speak Now World Tour")

default:
    print("Have you done something new?")
}

Nous aurions très bien pu écrire cela en utilisant beaucoup de blocs if et else if, mais cette façon est plus claire et c'est important.

Un des avantages de switch/case est que Swift veillera à ce que vos cas soient exhaustifs. Autrement dit, s'il est possible que votre variable ait une valeur que vous ne vérifiez pas, Xcode refusera de compiler votre application.

Dans les situations où les valeurs sont effectivement infinies, comme notre entier liveAlbums, vous devez inclure un cas default pour capturer ces valeurs potentielles. Oui, même si vous "savez" que vos données se situent dans une certaine plage bien déterminée, Swift veut être certain de prévoir tous les cas possibles au cas où il rencontrerait une telle valeur.

Swift peut évaluer vos instructions case pour correspondre aux valeurs des variables à verifier. Par exemple, si vous voulez vérifier une plage de valeurs possibles, vous pouvez utiliser l'opérateur d'intervalle fermé, comme ceci :

let studioAlbums = 5

switch studioAlbums {
case 0...1:
    print("You're just starting out")

case 2...3:
    print("You're a rising star")

case 4...5:
    print("You're world famous!")

default:
    print("Have you done something new?")
}

Vous devez savoir que les blocs switch/case en Swift ne fonctionnent pas tout à fait comme ils le font dans d'autres langages que vous avez peut-être déjà vus. Si vous avez l'habitude d'écrire break dans vos blocs case, sachez que cela n'est pas nécessaire en Swift.

Au lieu de cela, vous utilisez le mot-clé fallthrough pour forcer l'exécution du case suivant - c'est en fait le contraire. Bien sûr, si vous n'avez aucune idée de ce que cela signifie, c'est encore mieux : ne vous inquiétez pas !

LEARN SWIFTUI FOR FREE I wrote a massive, free SwiftUI tutorial collection, and also have a growing list of free SwiftUI tutorials on YouTube – get started today!

< Previous: Boucles   Next: Les fonctions >
MASTER SWIFT NOW
Buy Testing Swift Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let me know!

Click here to visit the Hacking with Swift store >>