Junior — Middle
Lehetséges az Optional típusú objektumok összehasonlítása a kódban?
sobes.tech MI
Válasz az MI-től
Swiftben az Optional típusú objektumokat össze lehet hasonlítani, ha az általuk tartalmazott típus támogatja az összehasonlítást. Például, ha van egy Optional<Int>, akkor az == és != operátorokat használhatod az összehasonlításhoz.
Az összehasonlítás így működik:
- Ha mindkét érték
nil, akkor egyenlőnek számítanak. - Ha az egyik
nil, a másik nem, akkor nem egyenlőek. - Ha egyik sem
nil, akkor a belső értékeket hasonlítják össze.
Példa:
let a: Int? = 5
let b: Int? = 5
let c: Int? = nil
print(a == b) // true
print(a == c) // false
print(c == nil) // true
Ha a típus nem támogatja az összehasonlítást, akkor nem lehet közvetlenül összehasonlítani az adott típusú Optional-t.