Sobes.tech
Junior — Middle

Peut-on effectuer une comparaison d'objets de type Optional dans le code?

sobes.tech IA

Réponse de l'IA

En Swift, les objets de type Optional peuvent être comparés entre eux si le type qu'ils contiennent supporte la comparaison. Par exemple, si vous avez un Optional<Int>, vous pouvez utiliser les opérateurs == et != pour les comparer.

La comparaison fonctionne comme suit :

  • Si les deux valeurs sont nil, elles sont considérées comme égales.
  • Si l'une est nil et l'autre non, elles ne sont pas égales.
  • Si aucune n'est nil, leurs valeurs internes sont comparées.

Exemple :

let a: Int? = 5
let b: Int? = 5
let c: Int? = nil

print(a == b) // true
print(a == c) // false
print(c == nil) // true

Si le type ne supporte pas la comparaison, il n'est pas possible de comparer directement un Optional de ce type.