Sobes.tech
Junior — Middle

Czy można wykonywać porównania obiektów typu Optional w kodzie?

sobes.tech AI

Odpowiedź od AI

W Swift, obiekty typu Optional można porównywać ze sobą, jeśli typ, który zawierają, obsługuje porównanie. Na przykład, jeśli masz Optional<Int>, możesz używać operatorów == i != do porównania.

Porównanie działa tak:

  • Jeśli oba wartości są nil, są uważane za równe.
  • Jeśli jeden jest nil, a drugi nie, nie są równe.
  • Jeśli oba nie są nil, porównywane są ich wewnętrzne wartości.

Przykład:

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

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

Jeśli typ nie obsługuje porównania, nie można bezpośrednio porównywać Optional tego typu.