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
nilet 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.