Cette documentation est encore en cours de rédaction chez Apple et des corrections peuvent être apportées au cours des semaines à venir.

L’opérateur conditionnel ternaire est un opérateur spécial avec trois parties et qui prend la forme suivante : question ? réponse1 : réponse2. C’est raccourcis pour évaluer deux expressions en même temps avec une seule question. Si la question est true, il renvoie des valeurs pour réponse1 et réponse2.

L’opérateur conditionnel ternaire sert à raccourcir les bouts de code comme celui-ci :

1 if question {
2     reponse1
3 } else {
4     reponse2
5 }

Voici un exemple pour calculer la hauteur en pixel de la colonne d’un tableau. La colonne doit être 50 pixels plus haute que la hauteur de son contenu, uniquement si elle possède une en-tête, et 20 pixels plus haute si elle n’en possède pas :

1 let hauteurContenu = 40
2 let enTete = true
3 let hauteurColonne = hauteurContenu + (enTete ? 50 : 20)
4 // hauteurColonne vaut maintenant 90

C’est beaucoup plus court que la version sans opérateur conditionnel ternaire :

1 let hauteurContenu = 40
2 let enTete = true
3 var hauteurColonne = hauteurContenu
4 if enTete {
5     hauteurColonne = hauteurColonne + 50
6 } else {
7     hauteurColonne = hauteurColonne + 20
8 }
9 // hauteurColonne vaut maintenant 90

Le premier exemple utilise l’opérateur conditionnel ternaire pour régler correctement la valeur de hauteurColonne en une seule ligne de code. C’est beaucoup plus court que dans le second exemple, et ça évite d’initialiser hauteurColonne comme une variable.

L’opérateur conditionnel ternaire permet de raccourcir considérablement votre code dans ce type de cas précis. Prenez néanmoins conscience qu’il ne facilite pas forcement la lecture du code et pourra poser problème si vous travaillez à plusieurs sur le même projet.