Junior — Middle
É possível realizar comparação de objetos do tipo Optional no código?
sobes.tech IA
Resposta da IA
Em Swift, objetos do tipo Optional podem ser comparados entre si, se o tipo que eles envolvem suportar comparação. Por exemplo, se tiver um Optional<Int>, pode usar os operadores == e != para compará-los.
A comparação funciona assim:
- Se ambos os valores forem
nil, são considerados iguais. - Se um for
nile o outro não, não são iguais. - Se ambos não forem
nil, os valores internos são comparados.
Exemplo:
let a: Int? = 5
let b: Int? = 5
let c: Int? = nil
print(a == b) // true
print(a == c) // false
print(c == nil) // true
Se o tipo não suportar comparação, não é possível comparar diretamente um Optional desse tipo.