Les ControlState statements (déclarations de contrôle de transfert en français) permettent d’influer sur le déroulement de notre code. Il en existe plusieurs:

  • continue
  • break
  • fallthrough
  • return (vu dans le guard)

Continue

Nous permet de dire à une boucle d’arreter se qu’elle fait et s’attaquer à la prochaine itération. En gros, nous disons. J’en ai fini avec ceci, on passe au suivant.

Exemple:

let classroomForGirls = [“Marie”: true, “Jean”: false, “Claude”: false, “Sylvie”: true, “Cathy”: true, “Myriam”: true, “Sylvain”: false, “Chris”: false]
var realClass: [String] = []
for (name, isGirl) in classroomForGirls {
    if !isGirl {
        continue
    }
    realClass.append(name)
}
print(realClass) 

Nous voyons ici que si isGirl est false, le realClass.append(name) ne sera pas exécuté car avec le continue nous passons directement à l’itération suivante.

Break

Le break permet d’arrêter immédiatement l’éxecution d’un code entre accolades, cela peut être une condition

Exemple:

let luckyNumbers = [1, 3, 7, 9, 13, 15, 17]
for number in luckyNumbers {
    if number == 13 {
        break
    }
    print(number)
} 

La boucle s’arrête dès que nous avons une correspondance (que number est égal à 13).

Nous pouvons aussi utiliser le break dans le switch:

let n = 4
switch n {
case 1: print(n)
case 2: print(n)
case 3: print(n)
default: break
} 

Fallthrough

Dans certains langages, nous devons mettre un break a la fin de chaque cas dans un switch, pout ne pas à passer à travers tous les cas une fois une correspondance trouvée. Avec Swift, ce n’est pas le cas, nous sortons de notre switch une fois le cas trouvé.

Le Fallthough permet de tomber aussi dans le cas suivant si la condition a été trouvée. Cela peut être un cas ou un défaut

let bay = “La Ciotat”
var fallPhrase = “La baie de (bay)”
switch bay {
case “La Ciotat”:
    fallPhrase += ” a été élue plus belle baie du monde et”
    fallthrough
default: fallPhrase += ” est en france”
}
print(fallPhrase)